Chapter 6. Framework Fundamentals
Many of the core facilities that you need when programming are
provided not by the C# language, but by types in the .NET Framework. In this
chapter, we cover the Framework’s role in fundamental programming tasks,
such as virtual equality comparison, order comparison, and type conversion.
We also cover the basic Framework types, such as String
, DateTime
, and Enum
.
The types in this section reside in the System
namespace, with the following exceptions:
StringBuilder
is defined inSystem.Text
, as are the types for text encodings.CultureInfo
and associated types are defined inSystem.Globalization
.XmlConvert
is defined inSystem.Xml
.
String and Text Handling
Char
A C# char
represents a
single Unicode character and aliases the System.Char
struct. In
Chapter 2, we described how to
express char
literals. For
example:
char c = 'A'; char newLine = '\n';
System.Char
defines a range of
static methods for working with characters, such as ToUpper
, ToLower
, and IsWhiteSpace
. You can
call these through either the System.Char
type or its char
alias:
Console.WriteLine (System.Char.ToUpper ('c')); // C Console.WriteLine (char.IsWhiteSpace ('\t')); // True
ToUpper
and ToLower
honor the end user’s locale, which can
lead to subtle bugs. The following expression evaluates to false
in Turkey:
char.ToUpper ('i') == 'I'
because in Turkey, char.ToUpper
('i')
is 'İ'
(notice the
dot on top!). To avoid this problem, System.Char
(and System.String
) also provides culture-invariant versions ...
Get C# 5.0 in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.