C# 5.0语言规范详解:从基础到高级特性

5星 · 超过95%的资源 需积分: 45 95 下载量 116 浏览量 更新于2024-07-17 收藏 4.67MB PDF 举报
C#语言规范第五版中文版详细介绍了C#编程语言的关键特性和语法结构。该文档首先强调了版权信息,指出由Microsoft Corporation在1999年至2012年期间持有并保留所有权利。它提醒读者,C#、Windows、Visual Basic、Visual C#和Visual C++是Microsoft的注册商标。 章节1"介绍"涵盖了C#语言的基础概念,如Hello World示例,程序结构,以及类型和变量的使用。这部分深入讲解了表达式、语句,以及类和对象的概念,包括成员(如字段、方法、构造函数、属性、索引器、事件和运算符等)、可访问性级别、类型参数、基类、静态与实例方法的区别、虚方法、重写和抽象方法、方法重载等。 章节2"词法结构"详细解析了C#的语法元素,包括程序的定义,以及文法表示法(如词法文法和句法文法)。文档还讨论了重要的语言元素,如行结束符、注释、空白处理,以及标识符、关键字和文本的规则。这部分对于理解C#的符号和结构至关重要。 整个规范文档旨在提供C#程序员全面的指导,帮助他们遵循语言标准编写高效、可维护的代码。通过阅读这份规范,开发者可以深入了解C#语言的细节,确保他们的代码符合语言规范,从而提高代码质量并避免潜在的兼容性问题。同时,该文档也欢迎开发者提出更正和反馈,反映了Microsoft对社区参与和持续改进的重视。
2021-11-21 上传
C#(读作“See Sharp”)是一种简洁、现代、面向对象且类型安全的编程语言。 C# 起源于 C 语言家 族,因此,对于 C、 C++ 和 Java 程序员,可以很快熟悉这种新的语言。 C# 已经分别由 ECMA International 和 ISO/IEC 组织接受并确立了标准,它们分别是 ECMA-334 标准和 ISO/IEC 23270 标准。 Microsoft 用于 .NET Framework 的 C# 编译器就是根据这两个标准实现的。 C# 是面向对象的语言,然而 C# 进一步提供了对面向组件 (component-oriented) 编程的支持。现代软件 设计日益依赖于自包含和自描述功能包形式的软件组件。这种组件的关键在于,它们通过属性、方法和 事件来提供编程模型;它们具有提供了关于组件的声明性信息的特性;同时,它们还编入了自己的文 档。 C# 提供的语言构造直接支持这些概念,这使得 C# 语言自然而然成为创建和使用软件组件之选。 有助于构造健壮、持久的应用程序的若干 C# 特性:垃圾回收 (Garbage collection) 将自动回收不再使用 的对象所占用的内存;异常处理 (exception handling) 提供了结构化和可扩展的错误检测和恢复方法;类 型安全 (type-safe) 的语言设计则避免了读取未初始化的变量、数组索引超出边界或执行未经检查的类型 强制转换等情形。 C# 具有一个同一类型系统 (unified type system)。所有 C# 类型(包括诸如 int 和 double 之类的基元类 型)都继承于单个根类型: object。因此,所有类型都共享一组通用操作,并且任何类型的值都能够 以一致的方式进行存储、传递和操作。此外, C# 同时支持用户定义的引用类型和值类型,既允许对象 的动态分配,也允许轻量结构的内联存储。 为了确保 C# 程序和库能够以兼容的方式逐步演进, C# 的设计中充分强调了版本控制 (versioning)。许 多编程语言不太重视这一点,导致采用那些语言编写的程序常常因为其所依赖的库的更新而无法正常工 作。 C# 的设计在某些方面直接考虑到版本控制的需要,其中包括单独使用的 virtual 和 override 修 饰符、方法重载决策规则以及对显式接口成员声明的支持。 本章的其余部分将描述 C# 语言的基本特征。尽管后面的章节会更为详尽,有时甚至逻辑缜密地对规则 和例外情况进行描述,但本章的描述力求简洁明了,因而难免会牺牲完整性。这样做是为了向读者提供 关于该语言的概貌,一方面使读者能尽快上手编写程序,另一方面为阅读后续章节提供指导。