Chapter 21 References
1. Introduction
C# is a simple, modern, object oriented, and type-safe programming language derived from C and C++. C#
(pronounced “C sharp”) is firmly planted in the C and C++ family tree of languages, and will immediately be
familiar to C and C++ programmers. C# aims to combine the high productivity of Visual Basic and the raw
power of C++.
C# is provided as a part of Microsoft Visual Studio 7.0. In addition to C#, Visual Studio supports Visual Basic,
Visual C++, and the scripting languages VBScript and JScript. All of these languages provide access to the Next
Generation Windows Services (NWGS) platform, which includes a common execution engine and a rich class
library. The .NET software development kit defines a "Common Language Subset" (CLS), a sort of lingua
franca that ensures seamless interoperability between CLS-compliant languages and class libraries. For C#
developers, this means that even though C# is a new language, it has complete access to the same rich class
libraries that are used by seasoned tools such as Visual Basic and Visual C++. C# itself does not include a class
library.
The rest of this chapter describes the essential features of the language. While later chapters describe rules and
exceptions in a detail-oriented and sometimes mathematical manner, this chapter strives for clarity and brevity at
the expense of completeness. The intent is to provide the reader with an introduction to the language that will
facilitate the writing of early programs and the reading of later chapters.
1.1 Hello, world
The canonical “Hello, world” program can be written in C# as follows:
The default file extension for C# programs is , as in !. Such a program can be compiled with the
command line directive
!
which produces an executable program named !". The output of the program is:
Close examination of this program is illuminating:
The directive references a namespace called that is provided by the .NET
runtime. This namespace contains the class referred to in the method. Namespaces
provide a hierarchical means of organizing the elements of a class library. A “using” directive enables
unqualified use of the members of a namespace. The “Hello, world” program uses
as a shorthand for . What do these identifiers denote? is a
namespace, is a class defined in that namespace, and is a static method defined on
that class.
Copyright
Ó
Microsoft Corporation1998 1999-2000. All Rights Reserved. 1