Chapter 26. System
In many respects, the System
namespace serves as the
core namespace for the .NET libraries, in much the same
way as java.lang
does for Java programmers or
stdlib.h
does for C/C++ programmers. For example, the
ECMA-compliant primitive-type value types are defined in the System
namespace, along with
complementary composite types and base types. These are used in the synthesis of
type generation, which is done by the compiler on the .NET programmer’s behalf
(for an example of this on-the-fly type synthesis, see
Array
).
Figure 26-1 shows many of the types in this namespace.
System
serves as the home for key base-type definitions,
including Object
, the root of every type in the
.NET hierarchy. Every type in the system ultimately extends this class,
making it the “root of all evil” in .NET. In addition, this
namespace contains ValueType
, the base type for
all value types in .NET (such as the primitive types listed later in this chapter,
shown in Figure 26-5), and
Type
, which in turn represents
compile-time type information about other types defined within the .NET
environment (the type metadata). More on Type
can be found in Chapter 35.
ECMA-compliant primitive-type value types include the
fundamental types used for all .NET applications, which are basic value types such as
Int32
, Single
,
Double
,
Decimal
, Char
,
Byte
, and Boolean
.
All of the primitive types are aliased in C# with keywords such as
int
, double
, and
bool
. See the description of each type for more details. ...
Get C# in a Nutshell 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.