C#语言参考
Copyright
Microsoft Corporation 1999-2002. All Rights Reserved.
注意
本文并非最终文档,在最终的商业版本发布前,可能会有重大修改。而且,它属微软公司所有。它是根据接受者
和微软公司间的非公开协议公布的
。
本文档只是为了报告的目的提供的,并且,在本文档中,微软公司并没有作任何明示或暗示的担保。对本文档中
的内容进行更改不会给出提示。
用户要对由于使用本文档所造成的全部危险和后果负责。用户有责任遵守所有有效的版权法律。
虽然没有用版权来限制,但是如果没有
Microsoft
公司明确的书面许可,本文档的任何部分都不可以被复制、存储
或引入检索系统,或用任何手段进行传播(电子的、机械的,影印,记录或其他方式)或其它任何用途。
微软拥有涉及本文档主要内容的专利、专有应用程序、商标、版权和其它知识产权。除非有微软公司提供的任何
书面的许可,提供本文档并没有给你任何关于这些专利、商标、版权和其它知识产权的许可。
未出版作品。
© 1999-2002 Microsoft
公司。版权所有。
Microsoft, Windows, Visual Basic, and Visual C++
是微软公司在美国和
/
或其他国家或地区的注册商标或商标。
这里所提及的其它产品和公司的名称可能是他们各自所有者的商标。
Confidential Material – Copyright
Microsoft Corporation 1999-2000. All Rights Reserved.
Table of Contents
目录
1. 介绍..................................................................................................................................................................... 1
1.1 Hello, world................................................................................................................................................... 1
1.2 类型............................................................................................................................................................... 2
1.2.1 预定义类型 ............................................................................................................................................ 3
1.2.2 转换 ........................................................................................................................................................ 5
1.2.3 数组类型 ................................................................................................................................................ 6
1.2.4 类型系统一致 ........................................................................................................................................ 7
1.3 变量和参数................................................................................................................................................... 8
1.4 自动内存管理............................................................................................................................................. 11
1.5 表达式......................................................................................................................................................... 13
1.6 声明............................................................................................................................................................. 15
1.7 类................................................................................................................................................................. 18
1.7.1 常数 ...................................................................................................................................................... 20
1.7.2 域 .......................................................................................................................................................... 20
1.7.3 方法 ...................................................................................................................................................... 21
1.7.4 属性 ...................................................................................................................................................... 22
1.7.5 事件 ...................................................................................................................................................... 23
1.7.6 操作符 .................................................................................................................................................. 24
1.7.7 索引 ...................................................................................................................................................... 25
1.7.8 实例构造函数 ...................................................................................................................................... 26
1.7.9 析构函数 .............................................................................................................................................. 27
1.7.10 静态构造函数 .................................................................................................................................... 27
1.7.11 继承 .................................................................................................................................................... 28
1.8 结构............................................................................................................................................................. 29
1.9 接口............................................................................................................................................................. 30
1.10 代表........................................................................................................................................................... 31
1.11 联合........................................................................................................................................................... 32
1.12 名称空间和集合....................................................................................................................................... 32
1.13 版本........................................................................................................................................................... 34
1.14 特征........................................................................................................................................................... 36
2. 语法结构........................................................................................................................................................... 39
2.1 翻译的阶段................................................................................................................................................. 39
2.2 文法符号..................................................................................................................................................... 39
2.3 预处理......................................................................................................................................................... 40
2.3.1 预处理声明 .......................................................................................................................................... 40
2.3.2 #if, #elif, #else, #endif .......................................................................................................................... 41
2.3.3 预处理控制行 ...................................................................................................................................... 42
2.3.4 #line ...................................................................................................................................................... 43
2.3.5 预处理标识符 ...................................................................................................................................... 43
2.3.6 预处理表达式 ...................................................................................................................................... 43
2.3.7 与空白交互作用 .................................................................................................................................. 44
2.4 语法分析..................................................................................................................................................... 45
Confidential Material – Copyright
Microsoft Corporation 1999-2000. All Rights Reserved. iii
C# LANGUAGE REFERENCE
2.4.1 输入 ...................................................................................................................................................... 45
2.4.2 输入字符 .............................................................................................................................................. 45
2.4.3 行结束符 .............................................................................................................................................. 45
2.4.4 注释 ...................................................................................................................................................... 45
2.4.5 空白 ...................................................................................................................................................... 46
2.4.6 标记 ...................................................................................................................................................... 47
2.5 句法分析..................................................................................................................................................... 47
2.5.1 标识符 .................................................................................................................................................. 47
2.5.2 关键字 .................................................................................................................................................. 48
2.5.3 数据符号 .............................................................................................................................................. 48
2.5.4 操作符和标点 ...................................................................................................................................... 53
2.5.5 Unicode 字符转意字符序列................................................................................................................ 53
3. 基本概念........................................................................................................................................................... 55
3.1 声明............................................................................................................................................................. 55
3.2 成员............................................................................................................................................................. 57
3.2.1 名称空间成员 ...................................................................................................................................... 57
3.2.2 结构成员 .............................................................................................................................................. 57
3.2.3 枚举成员 .............................................................................................................................................. 57
3.2.4 类成员 .................................................................................................................................................. 58
3.2.5 接口成员 .............................................................................................................................................. 58
3.2.6 数组成员 .............................................................................................................................................. 58
3.2.7 代表成员 .............................................................................................................................................. 58
3.3 成员访问..................................................................................................................................................... 58
3.3.1 声明可访问性 ...................................................................................................................................... 58
3.3.2 可访问性域 .......................................................................................................................................... 59
3.3.3 保护的访问 .......................................................................................................................................... 61
3.3.4 可访问性约束 ...................................................................................................................................... 62
3.4 签名和重载................................................................................................................................................. 62
3.5 范围............................................................................................................................................................. 63
3.5.1 名称隐藏 .............................................................................................................................................. 65
3.6 名称空间或类型名称................................................................................................................................. 67
3.6.1 合格的名称 .......................................................................................................................................... 68
4. 类型................................................................................................................................................................... 69
4.1 数值类型..................................................................................................................................................... 69
4.1.1 默认构造函数 ...................................................................................................................................... 70
4.1.2 结构类型 .............................................................................................................................................. 71
4.1.3 简单类型 .............................................................................................................................................. 71
4.1.4 整数类型 .............................................................................................................................................. 72
4.1.5 浮点类型 .............................................................................................................................................. 73
4.1.6 十进制类型 .......................................................................................................................................... 74
4.1.7 布尔类型............................................................................................................................................ 74
4.1.8 枚举类型 .............................................................................................................................................. 74
4.2 引用类型..................................................................................................................................................... 74
4.2.1 类类型 .................................................................................................................................................. 75
iv
Confidential Material – Copyright
Microsoft Corporation 1999-2000. All Rights Reserved.
Table of Contents
4.2.2 对象类型 .............................................................................................................................................. 75
4.2.3 字符串类型 .......................................................................................................................................... 75
4.2.4 接口类型 .............................................................................................................................................. 76
4.2.5 数组类型 .............................................................................................................................................. 76
4.2.6 代表类型 .............................................................................................................................................. 76
4.3 包装和解包................................................................................................................................................. 76
4.3.1 包装转换 .............................................................................................................................................. 76
4.3.2 解包转换 .............................................................................................................................................. 77
5. 变量................................................................................................................................................................... 79
5.1 变量类型 ..................................................................................................................................................... 79
5.1.1 静态变量.............................................................................................................................................. 79
5.1.2 实例变量 .............................................................................................................................................. 79
5.1.3 数组元素 .............................................................................................................................................. 80
5.1.4 数值参数 .............................................................................................................................................. 80
5.1.5 引用参数 .............................................................................................................................................. 80
5.1.6 输出参数 .............................................................................................................................................. 80
5.1.7 局部变量 .............................................................................................................................................. 81
5.2 默认值......................................................................................................................................................... 81
5.3 明确赋值..................................................................................................................................................... 81
5.3.1 初始赋值变量 ...................................................................................................................................... 83
5.3.2 非初始赋值变量 .................................................................................................................................. 84
5.4 变量引用..................................................................................................................................................... 84
6. 转换................................................................................................................................................................... 85
6.1 隐式转换..................................................................................................................................................... 85
6.1.1 同一性转换 .......................................................................................................................................... 85
6.1.2 隐式数值转换 ...................................................................................................................................... 85
6.1.3 隐式枚举转换 ...................................................................................................................................... 86
6.1.4 隐式引用转换 ...................................................................................................................................... 86
6.1.5 转换 ...................................................................................................................................................... 86
6.1.6 隐式常数表达式转换 .......................................................................................................................... 86
6.1.7 用户自定义隐式转换 .......................................................................................................................... 87
6.2 显式转换..................................................................................................................................................... 87
6.2.1 显式数值转换 ...................................................................................................................................... 87
6.2.2 显式枚举类型转换 .............................................................................................................................. 88
6.2.3 显式引用类型转换 .............................................................................................................................. 88
6.2.4 解包转换 .............................................................................................................................................. 89
6.2.5 用户自定义显式转换 .......................................................................................................................... 89
6.3 标准转换..................................................................................................................................................... 89
6.3.1 标准隐式转换 ...................................................................................................................................... 89
6.3.2 标准显式转换 ...................................................................................................................................... 90
6.4 用户定义转换............................................................................................................................................. 90
6.4.1 允许的用户自定义转换....................................................................................................................... 90
6.4.2 用户自定义转换的取值....................................................................................................................... 90
6.4.3 用户自定义隐式转换 .......................................................................................................................... 91
Confidential Material – Copyright
Microsoft Corporation 1999-2000. All Rights Reserved. v