Skip to Main Content
C# Cookbook, 2nd Edition
book

C# Cookbook, 2nd Edition

by Jay Hilyard, Stephen Teilhet
January 2006
Intermediate to advanced content levelIntermediate to advanced
1184 pages
43h 23m
English
O'Reilly Media, Inc.
Content preview from C# Cookbook, 2nd Edition
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
96
|
Chapter 3: Classes and Structures
Using the IFormattable interface forces you to implement the
IFormattable.ToString method to more effectively display your type’s
value(s). However, you do not have to implement it, as you can see for
yourself by removing this interface from the
Line structure’s declara-
tion. For performance’s sake, it is best to not implement this interface
on structures, due to the cost of boxing the structure; however, this
needs to be weighed with the design of the type. Implementing this
interface on a class does not incur a performance penalty.
See Also
See Recipe 2.16; see the “IFormatProvider Interface” topic in the MSDN
documentation.
3.3 Converting a String Representation of an Object
into an Actual Object
Problem
You need a way of accepting a string containing a textual representation of an object
and converting it to an object usable by your application. For example, if you were
provided with the string representation of a line
(x1, y1)(x2, y2), you would want
to convert it into a
Line structure.
Solution
Implement a Parse method on your Line structure:
using System;
using System.Text;
using System.Text.RegularExpressions;
public struct Line : IFormattable
{
public Line(int startX, int startY, int endX, int endY)
{
x1 = startX;
x2 = endX;
y1 = startY;
y2 = endY; ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# Cookbook

C# Cookbook

Joe Mayo
C# Cookbook

C# Cookbook

Stephen Teilhet, Jay Hilyard
Head First C#, 4th Edition

Head First C#, 4th Edition

Andrew Stellman, Jennifer Greene

Publisher Resources

ISBN: 0596100639Supplemental ContentCatalog PageErrata