版权所有 Microsoft Corporation 1999-2007。保留所有权利。
请将更正、建议及其他反馈信息发送至 sharp@microsoft.com
C#语言规范
3.0 版
版权所有 Microsoft Corporation 1999-2007。保留所有权利。
请将更正、建议及其他反馈信息发送至 sharp@microsoft.com
注意
© 1999-2007 Microsoft Corporation
。保留所有权利。
Microsoft
、
Windows
、
Visual Basic
、
Visual C#
和
Visual C++
是
Microsoft Corporation
在美国和
/
或其他国家/地区
的注册商标或商标。
本文提及的其他产品和公司名称可能是其各自所有者的商标。
目录
版权所有 Microsoft Corporation 1999-2007。保留所有权利。
iii
目录
注意.................................................................................................................................................................. 2
1. 简介 ............................................................................................................................................................. 1
1.1 Hello world .......................................................................................................................................... 1
1.2 程序结构................................................................................................................................................ 2
1.3 类型和变量 ............................................................................................................................................ 3
1.4 表达式.................................................................................................................................................... 6
1.5 语句........................................................................................................................................................ 8
1.6 类和对象.............................................................................................................................................. 12
1.6.1 成员 ............................................................................................................................................... 12
1.6.2 可访问性........................................................................................................................................ 13
1.6.3 类型形参........................................................................................................................................ 13
1.6.4 基类 ............................................................................................................................................... 14
1.6.5 字段 ............................................................................................................................................... 14
1.6.6 方法 ............................................................................................................................................... 15
1.6.6.1 参数......................................................................................................................................... 15
1.6.6.2 方法体和局部变量.................................................................................................................. 16
1.6.6.3 静态方法和实例方法 .............................................................................................................. 16
1.6.6.4 虚方法、重写方法和抽象方法............................................................................................... 17
1.6.6.5 方法重载 ................................................................................................................................. 19
1.6.7 其他函数成员................................................................................................................................20
1.6.7.1 构造函数 ................................................................................................................................. 21
1.6.7.2 属性......................................................................................................................................... 22
1.6.7.3 索引器 ..................................................................................................................................... 22
1.6.7.4 事件......................................................................................................................................... 22
1.6.7.5 运算符 ..................................................................................................................................... 23
1.6.7.6 析构函数 ................................................................................................................................. 23
1.7 结构...................................................................................................................................................... 24
1.8 数组...................................................................................................................................................... 24
1.9 接口...................................................................................................................................................... 25
1.10 枚举.................................................................................................................................................... 26
1.11 委托.................................................................................................................................................... 27
1.12 属性.................................................................................................................................................... 28
2. 词法结构 ................................................................................................................................................... 31
2.1 程序...................................................................................................................................................... 31
2.2 文法...................................................................................................................................................... 31
2.2.1 文法表示法.................................................................................................................................... 31
2.2.2 词法文法........................................................................................................................................ 32
2.2.3 句法文法........................................................................................................................................ 32
2.3 词法分析.............................................................................................................................................. 32
2.3.1 行结束符........................................................................................................................................ 33
目录
版权所有 Microsoft Corporation 1999-2007。保留所有权利。
iv
2.3.2 注释 ............................................................................................................................................... 33
2.3.3 空白 ............................................................................................................................................... 34
2.4 标记...................................................................................................................................................... 34
2.4.1 Unicode 字符转义序列 .................................................................................................................. 35
2.4.2 标识符............................................................................................................................................ 35
2.4.3 关键字............................................................................................................................................ 37
2.4.4 文本 ............................................................................................................................................... 37
2.4.4.1 布尔值 ..................................................................................................................................... 37
2.4.4.2 整数......................................................................................................................................... 38
2.4.4.3 实数......................................................................................................................................... 39
2.4.4.4 字符......................................................................................................................................... 39
2.4.4.5 字符串 ..................................................................................................................................... 40
2.4.4.6 null 文本 ............................................................................................................................... 42
2.4.5 运算符和标点符号 ........................................................................................................................ 42
2.5 预处理指令 .......................................................................................................................................... 42
2.5.1 条件编译符号................................................................................................................................43
2.5.2 预处理表达式................................................................................................................................44
2.5.3 声明指令........................................................................................................................................ 44
2.5.4 条件编译指令................................................................................................................................45
2.5.5 诊断指令........................................................................................................................................ 47
2.5.6 区域指令........................................................................................................................................ 48
2.5.7 行指令............................................................................................................................................ 48
2.5.8 Pragma 指令................................................................................................................................... 49
2.5.8.1 Pragma warning...................................................................................................................... 49
3. 基本概念 ................................................................................................................................................... 50
3.1 应用程序启动 ...................................................................................................................................... 50
3.2 应用程序终止 ...................................................................................................................................... 50
3.3 声明...................................................................................................................................................... 51
3.4 成员...................................................................................................................................................... 53
3.4.1 命名空间成员................................................................................................................................53
3.4.2 结构成员........................................................................................................................................ 53
3.4.3 枚举成员........................................................................................................................................ 53
3.4.4 类成员............................................................................................................................................ 53
3.4.5 接口成员........................................................................................................................................ 54
3.4.6 数组成员........................................................................................................................................ 54
3.4.7 委托成员........................................................................................................................................ 54
3.5 成员访问.............................................................................................................................................. 54
3.5.1 已声明可访问性 ............................................................................................................................ 54
3.5.2 可访问域........................................................................................................................................ 55
3.5.3 实例成员的受保护访问................................................................................................................. 57
3.5.4 可访问性约束................................................................................................................................58
3.6 签名和重载 .......................................................................................................................................... 59
3.7 范围...................................................................................................................................................... 60
3.7.1 名称隐藏........................................................................................................................................ 62
目录
版权所有 Microsoft Corporation 1999-2007。保留所有权利。
v
3.7.1.1 通过嵌套隐藏.......................................................................................................................... 62
3.7.1.2 通过继承隐藏.......................................................................................................................... 63
3.8 命名空间和类型名称........................................................................................................................... 64
3.8.1 完全限定名.................................................................................................................................... 66
3.9 自动内存管理 ...................................................................................................................................... 67
3.10 执行顺序 ............................................................................................................................................ 69
4. 类型 ........................................................................................................................................................... 71
4.1 值类型.................................................................................................................................................. 71
4.1.1 System.ValueType 类型 ................................................................................................................. 72
4.1.2 默认构造函数................................................................................................................................72
4.1.3 结构类型........................................................................................................................................ 73
4.1.4 简单类型........................................................................................................................................ 73
4.1.5 整型 ............................................................................................................................................... 74
4.1.6 浮点型............................................................................................................................................ 75
4.1.7 decimal 类型 .................................................................................................................................. 76
4.1.8 bool 类型........................................................................................................................................ 76
4.1.9 枚举类型........................................................................................................................................ 76
4.1.10 可以为 null 的类型................................................................................................................... 76
4.2 引用类型.............................................................................................................................................. 77
4.2.1 类类型............................................................................................................................................ 78
4.2.2 对象类型........................................................................................................................................ 78
4.2.3 string 类型...................................................................................................................................... 78
4.2.4 接口类型........................................................................................................................................ 78
4.2.5 数组类型........................................................................................................................................ 78
4.2.6 委托类型........................................................................................................................................ 78
4.3 装箱和拆箱 .......................................................................................................................................... 79
4.3.1 装箱转换........................................................................................................................................ 79
4.3.2 拆箱转换........................................................................................................................................ 80
4.4 构造类型.............................................................................................................................................. 81
4.4.1 类型实参........................................................................................................................................ 81
4.4.2 开放和封闭类型 ............................................................................................................................ 82
4.4.3 绑定和未绑定类型 ........................................................................................................................ 82
4.4.4 满足约束........................................................................................................................................ 82
4.5 类型形参.............................................................................................................................................. 83
4.6 表达式目录树类型............................................................................................................................... 84
5. 变量 ........................................................................................................................................................... 85
5.1 变量类别.............................................................................................................................................. 85
5.1.1 静态变量........................................................................................................................................ 85
5.1.2 实例变量........................................................................................................................................ 85
5.1.2.1 类中的实例变量...................................................................................................................... 85
5.1.2.2 结构中的实例变量.................................................................................................................. 85
5.1.3 数组元素........................................................................................................................................ 86
5.1.4 值参数............................................................................................................................................ 86
5.1.5 引用形参........................................................................................................................................ 86