Overview
Throughout this site, we emphasize that the
C# language cannot be viewed in isolation, but must be considered
in parallel with the .NET Framework. The C# compiler specifically
targets .NET, which means that all code written in C# will always
run within the .NET Framework. This has two important consequences
for the C# language:
-
The architecture and methodologies of C#
reflect the underlying methodologies of .NET.
-
In many cases, specific language features of
C# actually depend upon features of .NET, or of the .NET base
classes.
Because of this dependence, it is important to gain
some understanding of the architecture and methodology of .NET
before you begin C# programming. That is the purpose of this
chapter.
This chapter begins by going over what happens when
all code (including C#) that targets .NET is compiled and run. Once
you have this broad overview, you take a more detailed look at the
Microsoft Intermediate Language (MSIL or
simply IL), the assembly language that all compiled code ends up in
on .NET. In particular, you see how IL, in partnership with the
Common Type System (CTS) and Common Language Specification (CLS), works to give
you interoperability between languages that target .NET. This
chapter also discusses where common languages (including Visual
Basic and C++) fit into .NET.
Next, you move on to examine some of the other
features of .NET, including assemblies, namespaces, and the .NET
base classes. The chapter finishes with a brief look at the kinds
of applications you can create as a C# developer.