The Overview of UCMA C# Language Spesication
8. Language Overview (语言概观)
这个条款是扩展的资料。
C# (读音为“C sharp”)是一种简朴、富有朝气的、面向对象和类型安全的编程语言,可以很快地被
C/C++程序员所接受。C#的目标是结合快速开发(RAD)语言的高效和C++强大功能。
以下的几节会描述这门语言的基本特点。在后面的章节中将详细地,甚至是精确地介绍该语言的规则及其
他。本章将力求清晰简短的含盖所有的内容。使得读者有个初步地印象和更容易地阅读余下的章节。
8.1 开始
用 C# 编写的规范的“Hello, world” 如下:
using System;
class Hello
{
static void Main() {
Console.WriteLine("Hello, world");
}
}
C# 的源代码可以存放在用 .cs 作为扩展名的一个或多个文本文件中,比如本例的“hello.cs”。在命令行中
可以这样编译:
csc hello.cs
这个操作会产生一个hello.exe。输出的结果是:
hello, world
让我们从语法开始分析:
·using System;
直接引用由 Common Language Infrastructure (CLI) 提供的 System namespace。这个namespace包含在 Main
方法中所要用到的 Console 类。名字空间(namespace)提供了一种分层组织类库成员的方法。“using”解开
限制而可以使用 System 这个名字空间里的成员。程序中 Console.WriteLine 是 System.Console.WriteLine
缩写。System 是名字空间,Console 是 System 里定义的一个类,WriteLine是这个类的一个 static 方法。
·Main 函数是 Hello 类的一个成员。因为它有一个 static 的修饰符,所以它不存在于 Hello 的实体中,而
仅仅是在这个类的范围内。
·程序的进入点,即程序开始执行的地方,总是一个名字为 Main 静态的方法。
·“hello, world”使用了一个类库。但标准并没有对类库进行定义。实际上,程序引用由CLI提供的类库。
很有趣的是C/C++开发者会觉得有不少东西没有出现在“hello, world”程序中。
·程序中没有一个Main的全局方法。所有的方法和变量都不会出现在全局的范围内;而是永远包含在数据类型
的声明内(如类和结构的声明中)。
·程序中没有“::” 或“->”操作符。“::”不是 C# 的操作符,而“->”只用在一些特殊的场合(不安全代
码中)。C# 程序用“.”分割名字域,如 Console.WriteLine。
·在 C# 中无需先声明后使用,声明的次序已没有意义了。
·C# 不使用 #include 引入源代码,不再是文字上地而是抽象地引用。比如,Console 类可以不用是 C# 编写的。