1. 首页
  2. 编程语言
  3. C#
  4. c#3.0语言规范高清PDF

c#3.0语言规范高清PDF

上传者: 2018-12-29 00:57:39上传 PDF文件 4.17MB 热度 45次
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 2.3.2 注释 .................................................................................................................................................... 33 2.3.3 空白 .................................................................................................................................................... 34 2.4 标记 ........................................................................................................................................................... 34 iv C#语言规范 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 预处理表达式 .................................................................................................................................... 43 2.5.3 声明指令 ............................................................................................................................................ 44 2.5.4 条件编译指令 .................................................................................................................................... 45 2.5.5 诊断指令 ............................................................................................................................................ 47 2.5.6 区域指令 ............................................................................................................................................ 47 2.5.7 行指令 ................................................................................................................................................ 48 2.5.8 Pragma 指令 ....................................................................................................................................... 48 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 3.7.1.1 通过嵌套隐藏 ............................................................................................................................... 62 3.7.1.2 通过继承隐藏 ............................................................................................................................... 63 3.8 命名空间和类型名称 ............................................................................................................................... 64 目录 版权所有  Microsoft Corporation 1999-2007。保留所有权利。 3.8.1 完全限定名 ........................................................................................................................................ 66 3.9 自动内存管理 ........................................................................................................................................... 66 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 5.1.6 输出形参 ............................................................................................................................................ 86 5.1.7 局部变量 ............................................................................................................................................ 86 5.2 默认值 ....................................................................................................................................................... 87 vi C#语言规范 5.3 明确赋值 ................................................................................................................................................... 87 5.3.1 初始已赋值变量 ................................................................................................................................ 88 5.3.2 初始未赋值变量 ................................................................................................................................ 88 5.3.3 确定明确赋值的细则 ......................................................................................................................... 88 5.3.3.1 一般语句规则 ............................................................................................................................... 89 5.3.3.2 块语句、checked 和 unchecked 语句 ..................................................................................... 89 5.3.3.3 表达式语句 .................................................................................................................................. 89 5.3.3.4 声明语句 ...................................................................................................................................... 90 5.3.3.5 if 语句 .......................................................................................................................................... 90 5.3.3.6 switch 语句 .................................................................................................................................. 90 5.3.3.7 while 语句 .................................................................................................................................... 90 5.3.3.8 do 语句 ......................................................................................................................................... 90 5.3.3.9 for 语句 ........................................................................................................................................ 91 5.3.3.10 break、continue 和 goto 语句 ............................................................................................. 91 5.3.3.11 throw 语句 ................................................................................................................................. 91 5.3.3.12 return 语句 ................................................................................................................................. 91 5.3.3.13 try-catch 语句 .............................................................................................................................. 92 5.3.3.14 try-finally 语句 ............................................................................................................................ 92 5.3.3.15 try-catch-finally 语句 .................................................................................................................. 92 5.3.3.16 foreach 语句 ............................................................................................................................... 93 5.3.3.17 using 语句 .................................................................................................................................. 93 5.3.3.18 lock 语句 .................................................................................................................................... 93 5.3.3.19 yield 语句 ................................................................................................................................... 94 5.3.3.20 简单表达式的一般规则 ............................................................................................................. 94 5.3.3.21 带有嵌入表达式的表达式的一般规则 ..................................................................................... 94 5.3.3.22 调用表达式和对象创建表达式 ................................................................................................. 94 5.3.3.23 简单赋值表达式 ......................................................................................................................... 95 5.3.3.24 && 表达式 ................................................................................................................................. 95 5.3.3.25 || 表达式 ..................................................................................................................................... 96 5.3.3.26 ! 表达式 ..................................................................................................................................... 96 5.3.3.27 ?? 表达式 ................................................................................................................................... 97 5.3.3.28 ?: 表达式 .................................................................................................................................... 97 5.3.3.29 匿名函数 .................................................................................................................................... 97 5.4 变量引用 ................................................................................................................................................... 98 5.5 变量引用的原子性 ................................................................................................................................... 98 6. 转换 ................................................................................................................................................................. 99 6.1 隐式转换 ................................................................................................................................................... 99 6.1.1 标识转换 ............................................................................................................................................ 99 6.1.2 隐式数值转换 .................................................................................................................................... 99 6.1.3 隐式枚举转换 .................................................................................................................................. 100 6.1.4 可以为 null 的隐式转换 ................................................................................................................. 100 6.1.5 null 文本转换 ................................................................................................................................... 100 6.1.6 隐式引用转换 .................................................................................................................................. 100 6.1.7 装箱转换 .......................................................................................................................................... 101 目录 版权所有  Microsoft Corporation 1999-2007。保留所有权利。 6.1.8 隐式常量表达式转换 ....................................................................................................................... 101 6.1.9 涉及类型形参的隐式转换................................................................................................................ 101 6.1.10 用户定义的隐式转换...................................................................................................................... 102 6.1.11 匿名函数转换和方法组转换 .......................................................................................................... 102 6.2 显式转换 ................................................................................................................................................. 102 6.2.1 显式数值转换 .................................................................................................................................. 102 6.2.2 显式枚举转换 .................................................................................................................................. 104 6.2.3 可以为 null 的显式转换................................................................................................................ 104 6.2.4 显式引用转换 .................................................................................................................................. 105 6.2.5 拆箱转换 .......................................................................................................................................... 105 6.2.6 涉及类型形参的显式转换................................................................................................................ 105 6.2.7 用户定义的显式转换 ....................................................................................................................... 106 6.3 标准转换 ................................................................................................................................................. 106 6.3.1 标准隐式转换 .................................................................................................................................. 106 6.3.2 标准显式转换 .................................................................................................................................. 107 6.4 用户定义的转换 ..................................................................................................................................... 107 6.4.1 允许的用户定义转换 ....................................................................................................................... 107 6.4.2 提升转换运算符 ............................................................................................................................... 107 6.4.3 用户定义转换的计算 ....................................................................................................................... 107 6.4.4 用户定义的隐式转换 ....................................................................................................................... 108 6.4.5 用户定义的显式转换 ....................................................................................................................... 109 6.5 匿名函数转换 ......................................................................................................................................... 110 6.5.1 匿名函数转换为委托类型的计算 .................................................................................................... 111 6.5.2 匿名函数转换为表达式目录树类型的计算 .................................................................................... 111 6.5.3 实现示例 .......................................................................................................................................... 111 6.6 方法组转换 ............................................................................................................................................. 114 7. 表达式 ........................................................................................................................................................... 116 7.1 表达式的分类 ......................................................................................................................................... 116 7.1.1 表达式的值 ...................................................................................................................................... 117 7.2 通过调用索引器的 get-accessor 来获取索引器访问表达式的值。 .............................................. 117 7.3 运算符 ..................................................................................................................................................... 117 7.3.1 运算符的优先级和顺序关联性 ........................................................................................................ 117 7.3.2 运算符重载 ...................................................................................................................................... 118 7.3.3 一元运算符重载决策 ....................................................................................................................... 119 7.3.4 二元运算符重载决策 ....................................................................................................................... 119 7.3.5 候选用户定义运算符 ....................................................................................................................... 120 7.3.6 数值提升 .......................................................................................................................................... 120 7.3.6.1 一元数值提升 ............................................................................................................................. 120 7.3.6.2 二元数值提升 ............................................................................................................................. 121 7.3.7 提升运算符 ...................................................................................................................................... 121 7.4 成员查找 ................................................................................................................................................. 122 7.4.1 基类型 .............................................................................................................................................. 123 7.5 函数成员 ................................................................................................................................................. 123 7.5.1 实参列表 .......................................................................................................................................... 125 viii C#语言规范 7.5.2 类型推断 .......................................................................................................................................... 127 7.5.2.1 第一阶段 .................................................................................................................................... 128 7.5.2.2 第二阶段 .................................................................................................................................... 128 7.5.2.3 输入类型 .................................................................................................................................... 129 7.5.2.4 输出类型 .................................................................................................................................... 129 7.5.2.5 依赖 ............................................................................................................................................ 129 7.5.2.6 输出类型推断 ............................................................................................................................. 129 7.5.2.7 参数类型显式推断 ..................................................................................................................... 129 7.5.2.8 精确推断 .................................................................................................................................... 129 7.5.2.9 下限推断 .................................................................................................................................... 129 7.5.2.10 固定 .......................................................................................................................................... 130 7.5.2.11 推断返回类型 ........................................................................................................................... 130 7.5.2.12 方法组转换的类型推断 ........................................................................................................... 131 7.5.2.13 查找一组表达式的最通用类型 ............................................................................................... 131 7.5.3 重载决策 .......................................................................................................................................... 131 7.5.3.1 适用函数成员 ............................................................................................................................. 132 7.5.3.2 更好的函数成员 ......................................................................................................................... 132 7.5.3.3 表达式的更佳转换 ..................................................................................................................... 133 7.5.3.4 类型的更佳转换 ......................................................................................................................... 134 7.5.3.5 泛型类中的重载 ......................................................................................................................... 134 7.5.4 函数成员调用 .................................................................................................................................. 135 7.5.4.1 已装箱实例上的调用 ................................................................................................................. 136 7.6 基本表达式 ............................................................................................................................................. 136 7.6.1 文本 .................................................................................................................................................. 137 7.6.2 简单名称 .......................................................................................................................................... 137 7.6.2.1 块中的固定含义 ......................................................................................................................... 138 7.6.3 带括号的表达式 ............................................................................................................................... 139 7.6.4 成员访问 .......................................................................................................................................... 139 7.6.4.1 相同的简单名称和类型名称 ..................................................................................................... 141 7.6.4.2 语法多义性 ................................................................................................................................ 141 7.6.5 调用表达式 ...................................................................................................................................... 142 7.6.5.1 方法调用 .................................................................................................................................... 142 7.6.5.2 扩展方法调用 ............................................................................................................................. 143 7.6.5.3 委托调用 .................................................................................................................................... 146 7.6.6 元素访问 .......................................................................................................................................... 146 7.6.6.1 数组访问 .................................................................................................................................... 146 7.6.6.2 索引器访问 ................................................................................................................................ 147 7.6.7 this 访问 ........................................................................................................................................ 147 7.6.8 base 访问 ........................................................................................................................................ 148 7.6.9 后缀增量和后缀减量运算符............................................................................................................ 148 7.6.10 new 运算符 ..................................................................................................................................... 149 7.6.10.1 对象创建表达式 ....................................................................................................................... 149 7.6.10.2 对象初始值设定项 ................................................................................................................... 150 7.6.10.3 集合初始值设定项 ................................................................................................................... 152 7.6.10.4 数组创建表达式 ....................................................................................................................... 153 目录 版权所有  Microsoft Corporation 1999-2007。保留所有权利。 7.6.10.5 委托创建表达式 ....................................................................................................................... 155 7.6.10.6 匿名对象创建表达式 ............................................................................................................... 156 7.6.11 typeof 运算符 ................................................................................................................................. 157 7.6.12 checked 和 unchecked 运算符 .................................................................................................... 159 7.6.13 默认值表达式 ................................................................................................................................ 161 7.6.14 匿名方法表达式 ............................................................................................................................. 161 7.7 一元运算符 ............................................................................................................................................. 162 7.7.1 一元加运算符 .................................................................................................................................. 162 7.7.2 一元减运算符 .................................................................................................................................. 162 7.7.3 逻辑否定运算符 ............................................................................................................................... 163 7.7.4 按位求补运算符 ............................................................................................................................... 163 7.7.5 前缀增量和减量运算符.................................................................................................................... 163 7.7.6 强制转换表达式 ............................................................................................................................... 164 7.8 算术运算符 ............................................................................................................................................. 164 7.8.1 乘法运算符 ...................................................................................................................................... 165 7.8.2 除法运算符 ...................................................................................................................................... 165 7.8.3 余数运算符 ...................................................................................................................................... 166 7.8.4 加法运算符 ...................................................................................................................................... 167 7.8.5 减法运算符 ...................................................................................................................................... 169 7.9 移位运算符 ............................................................................................................................................. 170 7.10 关系和类型测试运算符 ........................................................................................................................ 171 7.10.1 整数比较运算符 ............................................................................................................................. 172 7.10.2 浮点比较运算符 ............................................................................................................................. 173 7.10.3 小数比较运算符 ............................................................................................................................. 173 7.10.4 布尔相等运算符 ............................................................................................................................. 173 7.10.5 枚举比较运算符 ............................................................................................................................. 174 7.10.6 引用类型相等运算符...................................................................................................................... 174 7.10.7 字符串相等运算符.......................................................................................................................... 175 7.10.8 委托相等运算符 ............................................................................................................................. 176 7.10.9 相等运算符和 null........................................................................................................................ 176 7.10.10 is 运算符 ....................................................................................................................................... 176 7.10.11 as 运算符 ...................................................................................................................................... 177 7.11 逻辑运算符 ........................................................................................................................................... 178 7.11.1 整数逻辑运算符 ............................................................................................................................. 178 7.11.2 & 运算符 ........................................................................................................................................ 178 7.11.3 枚举逻辑运算符 ............................................................................................................................. 178 7.11.4 布尔逻辑运算符 ............................................................................................................................. 178 7.11.5 可以为 null 的布尔逻辑运算符 .................................................................................................. 179 7.12 条件逻辑运算符 ................................................................................................................................... 179 7.12.1 布尔条件逻辑运算符...................................................................................................................... 180 7.12.2 用户定义的条件逻辑运算符 .......................................................................................................... 180 7.13 空合并运算符 ....................................................................................................................................... 180 7.14 条件运算符 ........................................................................................................................................... 181 7.15 匿名函数表达式 ................................................................................................................................... 182 7.15.1 匿名函数签名 ................................................................................................................................ 183 x C#语言规范 7.15.2 匿名函数体 .................................................................................................................................... 183 7.15.3 重载决策 ........................................................................................................................................ 184 7.15.4 外层变量 ........................................................................................................................................ 185 7.15.4.1 捕获的外层变量 ....................................................................................................................... 185 7.15.4.2 局部变量实例化 ....................................................................................................................... 186 7.15.5 匿名函数表达式的计算 .................................................................................................................. 188 7.16 查询表达式 ........................................................................................................................................... 188 7.16.1 查询表达式中的多义性 .................................................................................................................. 189 7.16.2 查询表达式转换 ............................................................................................................................. 189 7.16.2.1 带有延续部分的 Select 和 groupby 子句 ............................................................................ 190 7.16.2.2 显式范围变量类型 ................................................................................................................... 190 7.16.2.3 简并查询表达式 ....................................................................................................................... 191 7.16.2.4 From、let、where、join 和 orderby 子句 ............................................................................. 191 7.16.2.5 Select 子句 ............................................................................................................................... 194 7.16.2.6 Groupby 子句 ............................................................................................................................ 195 7.16.2.7 透明标识符 ............................................................................................................................... 195 7.16.3 查询表达式模式 ............................................................................................................................. 196 7.17 赋值运算符 ........................................................................................................................................... 197 7.17.1 简单赋值 ........................................................................................................................................ 198 7.17.2 复合赋值 ........................................................................................................................................ 200 7.17.3 事件赋值 ........................................................................................................................................ 201 7.18 表达式 ................................................................................................................................................... 201 7.19 常量表达式 ........................................................................................................................................... 201 7.20 布尔表达式 ........................................................................................................................................... 202 8. 语句 ............................................................................................................................................................... 204 8.1 结束点和可到达性 ................................................................................................................................. 204 8.2 块 ............................................................................................................................................................. 205 8.2.1 语句列表 .......................................................................................................................................... 206 8.3 空语句 ..................................................................................................................................................... 206 8.4 标记语句 ................................................................................................................................................. 207 8.5 声明语句 ................................................................................................................................................. 207 8.5.1 局部变量声明 .................................................................................................................................. 207 8.5.2 局部常量声明 .................................................................................................................................. 209 8.6 表达式语句 ............................................................................................................................................. 209 8.7 选择语句 ................................................................................................................................................. 209 8.7.1 if 语句 ............................................................................................................................................... 210 8.7.2 switch 语句 ....................................................................................................................................... 210 8.8 迭代语句 ................................................................................................................................................. 213 8.8.1 while 语句 ......................................................................................................................................... 213 8.8.2 do 语句 ............................................................................................................................................. 214 8.8.3 for 语句 ............................................................................................................................................. 214 8.8.4 foreach 语句 ..................................................................................................................................... 215 8.9 跳转语句 ................................................................................................................................................. 218 8.9.1 break 语句 ......................................................................................................................................... 218 目录 版权所有  Microsoft Corporation 1999-2007。保留所有权利。 8.9.2 continue 语句 .................................................................................................................................... 219 8.9.3 goto 语句 .......................................................................................................................................... 219 8.9.4 return 语句 ........................................................................................................................................ 220 8.9.5 throw 语句 ........................................................................................................................................ 221 8.10 try 语句 .................................................................................................................................................. 221 8.11 checked 语句和 unchecked 语句 ............................................................................................... 224 8.12 lock 语句 ............................................................................................................................................... 224 8.13 using 语句 ............................................................................................................................................. 225 8.14 yield 语句 .............................................................................................................................................. 226 9. 命名空间 ....................................................................................................................................................... 229 9.1 编译单元 ................................................................................................................................................. 229 9.2 命名空间声明 ......................................................................................................................................... 229 9.3 Extern 别名 ............................................................................................................................................. 230 9.4 using 指令 ............................................................................................................................................... 231 9.4.1 using 别名指令 ................................................................................................................................. 231 9.4.2 Using 命名空间指令 ......................................................................................................................... 234 9.5 命名空间成员 ......................................................................................................................................... 235 9.6 类型声明 ................................................................................................................................................. 236 9.7 命名空间别名限定符 .............................................................................................................................. 236 9.7.1 别名的唯一性 .................................................................................................................................. 237 10. 类 ................................................................................................................................................................. 239 10.1 类声明 ................................................................................................................................................... 239 10.1.1 类修饰符 ........................................................................................................................................ 239 10.1.1.1 抽象类 ...................................................................................................................................... 239 10.1.1.2 密封类 ...................................................................................................................................... 240 10.1.1.3 静态类 ...................................................................................................................................... 240 10.1.2 分部修饰符 .................................................................................................................................... 241 10.1.3 类型形参 ........................................................................................................................................ 241 10.1.4 类基本规范 .................................................................................................................................... 241 10.1.4.1 基类 .......................................................................................................................................... 242 10.1.4.2 接口实现 .................................................................................................................................. 243 10.1.5 类型形参约束 ................................................................................................................................ 243 10.1.6 类体 ................................................................................................................................................ 246 10.2 分部类型 ............................................................................................................................................... 247 10.2.1 属性 ................................................................................................................................................ 247 10.2.2 修饰符 ............................................................................................................................................ 247 10.2.3 类型形参和约束 ............................................................................................................................. 247 10.2.4 基类 ................................................................................................................................................ 248 10.2.5 基接口 ............................................................................................................................................ 248 10.2.6 成员 ................................................................................................................................................ 249 10.2.7 分部方法 ........................................................................................................................................ 249 10.2.8 名称绑定 ........................................................................................................................................ 251 10.3 类成员 ................................................................................................................................................... 252 10.3.1 实例类型 ........................................................................................................................................ 253 xii C#语言规范 10.3.2 构造类型的成员 ............................................................................................................................. 253 10.3.3 继承 ................................................................................................................................................ 254 10.3.4 new 修饰符 ..................................................................................................................................... 255 10.3.5 访问修饰符 .................................................................................................................................... 255 10.3.6 构成类型 ........................................................................................................................................ 255 10.3.7 静态成员和实例成员...................................................................................................................... 255 10.3.8 嵌套类型 ........................................................................................................................................ 256 10.3.8.1 完全限定名 ............................................................................................................................... 256 10.3.8.2 已声明可访问性 ............................................................................................................ .................................................................................................................... 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 2.3.2 注释 .................................................................................................................................................... 33 2.3.3 空白 .................................................................................................................................................... 34 2.4 标记 ........................................................................................................................................................... 34 iv C#语言规范 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 预处理表达式 .................................................................................................................................... 43 2.5.3 声明指令 ............................................................................................................................................ 44 2.5.4 条件编译指令 .................................................................................................................................... 45 2.5.5 诊断指令 ............................................................................................................................................ 47 2.5.6 区域指令 ............................................................................................................................................ 47 2.5.7 行指令 ................................................................................................................................................ 48 2.5.8 Pragma 指令 ....................................................................................................................................... 48 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 3.7.1.1 通过嵌套隐藏 ............................................................................................................................... 62 3.7.1.2 通过继承隐藏 ............................................................................................................................... 63 3.8 命名空间和类型名称 ............................................................................................................................... 64 目录 版权所有  Microsoft Corporation 1999-2007。保留所有权利。 3.8.1 完全限定名 ........................................................................................................................................ 66 3.9 自动内存管理 ........................................................................................................................................... 66 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 5.1.6 输出形参 ............................................................................................................................................ 86 5.1.7 局部变量 ............................................................................................................................................ 86 5.2 默认值 ....................................................................................................................................................... 87 vi C#语言规范 5.3 明确赋值 ................................................................................................................................................... 87 5.3.1 初始已赋值变量 ................................................................................................................................ 88 5.3.2 初始未赋值变量 ................................................................................................................................ 88 5.3.3 确定明确赋值的细则 ......................................................................................................................... 88 5.3.3.1 一般语句规则 ............................................................................................................................... 89 5.3.3.2 块语句、checked 和 unchecked 语句 ..................................................................................... 89 5.3.3.3 表达式语句 .................................................................................................................................. 89 5.3.3.4 声明语句 ...................................................................................................................................... 90 5.3.3.5 if 语句 .......................................................................................................................................... 90 5.3.3.6 switch 语句 .................................................................................................................................. 90 5.3.3.7 while 语句 .................................................................................................................................... 90 5.3.3.8 do 语句 ......................................................................................................................................... 90 5.3.3.9 for 语句 ........................................................................................................................................ 91 5.3.3.10 break、continue 和 goto 语句 ............................................................................................. 91 5.3.3.11 throw 语句 ................................................................................................................................. 91 5.3.3.12 return 语句 ................................................................................................................................. 91 5.3.3.13 try-catch 语句 .............................................................................................................................. 92 5.3.3.14 try-finally 语句 ............................................................................................................................ 92 5.3.3.15 try-catch-finally 语句 .................................................................................................................. 92 5.3.3.16 foreach 语句 ............................................................................................................................... 93 5.3.3.17 using 语句 .................................................................................................................................. 93 5.3.3.18 lock 语句 .................................................................................................................................... 93 5.3.3.19 yield 语句 ................................................................................................................................... 94 5.3.3.20 简单表达式的一般规则 ............................................................................................................. 94 5.3.3.21 带有嵌入表达式的表达式的一般规则 ..................................................................................... 94 5.3.3.22 调用表达式和对象创建表达式 ................................................................................................. 94 5.3.3.23 简单赋值表达式 ......................................................................................................................... 95 5.3.3.24 && 表达式 ................................................................................................................................. 95 5.3.3.25 || 表达式 ..................................................................................................................................... 96 5.3.3.26 ! 表达式 ..................................................................................................................................... 96 5.3.3.27 ?? 表达式 ................................................................................................................................... 97 5.3.3.28 ?: 表达式 .................................................................................................................................... 97 5.3.3.29 匿名函数 .................................................................................................................................... 97 5.4 变量引用 ................................................................................................................................................... 98 5.5 变量引用的原子性 ................................................................................................................................... 98 6. 转换 ................................................................................................................................................................. 99 6.1 隐式转换 ................................................................................................................................................... 99 6.1.1 标识转换 ............................................................................................................................................ 99 6.1.2 隐式数值转换 .................................................................................................................................... 99 6.1.3 隐式枚举转换 .................................................................................................................................. 100 6.1.4 可以为 null 的隐式转换 ................................................................................................................. 100 6.1.5 null 文本转换 ................................................................................................................................... 100 6.1.6 隐式引用转换 .................................................................................................................................. 100 6.1.7 装箱转换 .......................................................................................................................................... 101 目录 版权所有  Microsoft Corporation 1999-2007。保留所有权利。 6.1.8 隐式常量表达式转换 ....................................................................................................................... 101 6.1.9 涉及类型形参的隐式转换................................................................................................................ 101 6.1.10 用户定义的隐式转换...................................................................................................................... 102 6.1.11 匿名函数转换和方法组转换 .......................................................................................................... 102 6.2 显式转换 ................................................................................................................................................. 102 6.2.1 显式数值转换 .................................................................................................................................. 102 6.2.2 显式枚举转换 .................................................................................................................................. 104 6.2.3 可以为 null 的显式转换................................................................................................................ 104 6.2.4 显式引用转换 .................................................................................................................................. 105 6.2.5 拆箱转换 .......................................................................................................................................... 105 6.2.6 涉及类型形参的显式转换................................................................................................................ 105 6.2.7 用户定义的显式转换 ....................................................................................................................... 106 6.3 标准转换 ................................................................................................................................................. 106 6.3.1 标准隐式转换 .................................................................................................................................. 106 6.3.2 标准显式转换 .................................................................................................................................. 107 6.4 用户定义的转换 ..................................................................................................................................... 107 6.4.1 允许的用户定义转换 ....................................................................................................................... 107 6.4.2 提升转换运算符 ............................................................................................................................... 107 6.4.3 用户定义转换的计算 ....................................................................................................................... 107 6.4.4 用户定义的隐式转换 ....................................................................................................................... 108 6.4.5 用户定义的显式转换 ....................................................................................................................... 109 6.5 匿名函数转换 ......................................................................................................................................... 110 6.5.1 匿名函数转换为委托类型的计算 .................................................................................................... 111 6.5.2 匿名函数转换为表达式目录树类型的计算 .................................................................................... 111 6.5.3 实现示例 .......................................................................................................................................... 111 6.6 方法组转换 ............................................................................................................................................. 114 7. 表达式 ........................................................................................................................................................... 116 7.1 表达式的分类 ......................................................................................................................................... 116 7.1.1 表达式的值 ...................................................................................................................................... 117 7.2 通过调用索引器的 get-accessor 来获取索引器访问表达式的值。 .............................................. 117 7.3 运算符 ..................................................................................................................................................... 117 7.3.1 运算符的优先级和顺序关联性 ........................................................................................................ 117 7.3.2 运算符重载 ...................................................................................................................................... 118 7.3.3 一元运算符重载决策 ....................................................................................................................... 119 7.3.4 二元运算符重载决策 ....................................................................................................................... 119 7.3.5 候选用户定义运算符 ....................................................................................................................... 120 7.3.6 数值提升 .......................................................................................................................................... 120 7.3.6.1 一元数值提升 ............................................................................................................................. 120 7.3.6.2 二元数值提升 ............................................................................................................................. 121 7.3.7 提升运算符 ...................................................................................................................................... 121 7.4 成员查找 ................................................................................................................................................. 122 7.4.1 基类型 .............................................................................................................................................. 123 7.5 函数成员 ................................................................................................................................................. 123 7.5.1 实参列表 .......................................................................................................................................... 125 viii C#语言规范 7.5.2 类型推断 .......................................................................................................................................... 127 7.5.2.1 第一阶段 .................................................................................................................................... 128 7.5.2.2 第二阶段 .................................................................................................................................... 128 7.5.2.3 输入类型 .................................................................................................................................... 129 7.5.2.4 输出类型 .................................................................................................................................... 129 7.5.2.5 依赖 ............................................................................................................................................ 129 7.5.2.6 输出类型推断 ............................................................................................................................. 129 7.5.2.7 参数类型显式推断 ..................................................................................................................... 129 7.5.2.8 精确推断 .................................................................................................................................... 129 7.5.2.9 下限推断 .................................................................................................................................... 129 7.5.2.10 固定 .......................................................................................................................................... 130 7.5.2.11 推断返回类型 ........................................................................................................................... 130 7.5.2.12 方法组转换的类型推断 ........................................................................................................... 131 7.5.2.13 查找一组表达式的最通用类型 ............................................................................................... 131 7.5.3 重载决策 .......................................................................................................................................... 131 7.5.3.1 适用函数成员 ............................................................................................................................. 132 7.5.3.2 更好的函数成员 ......................................................................................................................... 132 7.5.3.3 表达式的更佳转换 ..................................................................................................................... 133 7.5.3.4 类型的更佳转换 ......................................................................................................................... 134 7.5.3.5 泛型类中的重载 ......................................................................................................................... 134 7.5.4 函数成员调用 .................................................................................................................................. 135 7.5.4.1 已装箱实例上的调用 ................................................................................................................. 136 7.6 基本表达式 ............................................................................................................................................. 136 7.6.1 文本 .................................................................................................................................................. 137 7.6.2 简单名称 .......................................................................................................................................... 137 7.6.2.1 块中的固定含义 ......................................................................................................................... 138 7.6.3 带括号的表达式 ............................................................................................................................... 139 7.6.4 成员访问 .......................................................................................................................................... 139 7.6.4.1 相同的简单名称和类型名称 ..................................................................................................... 141 7.6.4.2 语法多义性 ................................................................................................................................ 141 7.6.5 调用表达式 ...................................................................................................................................... 142 7.6.5.1 方法调用 .................................................................................................................................... 142 7.6.5.2 扩展方法调用 ............................................................................................................................. 143 7.6.5.3 委托调用 .................................................................................................................................... 146 7.6.6 元素访问 .......................................................................................................................................... 146 7.6.6.1 数组访问 .................................................................................................................................... 146 7.6.6.2 索引器访问 ................................................................................................................................ 147 7.6.7 this 访问 ........................................................................................................................................ 147 7.6.8 base 访问 ........................................................................................................................................ 148 7.6.9 后缀增量和后缀减量运算符............................................................................................................ 148 7.6.10 new 运算符 ..................................................................................................................................... 149 7.6.10.1 对象创建表达式 ....................................................................................................................... 149 7.6.10.2 对象初始值设定项 ................................................................................................................... 150 7.6.10.3 集合初始值设定项 ................................................................................................................... 152 7.6.10.4 数组创建表达式 ....................................................................................................................... 153 目录 版权所有  Microsoft Corporation 1999-2007。保留所有权利。 7.6.10.5 委托创建表达式 ....................................................................................................................... 155 7.6.10.6 匿名对象创建表达式 ............................................................................................................... 156 7.6.11 typeof 运算符 ................................................................................................................................. 157 7.6.12 checked 和 unchecked 运算符 .................................................................................................... 159 7.6.13 默认值表达式 ................................................................................................................................ 161 7.6.14 匿名方法表达式 ............................................................................................................................. 161 7.7 一元运算符 ............................................................................................................................................. 162 7.7.1 一元加运算符 .................................................................................................................................. 162 7.7.2 一元减运算符 .................................................................................................................................. 162 7.7.3 逻辑否定运算符 ............................................................................................................................... 163 7.7.4 按位求补运算符 ............................................................................................................................... 163 7.7.5 前缀增量和减量运算符.................................................................................................................... 163 7.7.6 强制转换表达式 ............................................................................................................................... 164 7.8 算术运算符 ............................................................................................................................................. 164 7.8.1 乘法运算符 ...................................................................................................................................... 165 7.8.2 除法运算符 ...................................................................................................................................... 165 7.8.3 余数运算符 ...................................................................................................................................... 166 7.8.4 加法运算符 ...................................................................................................................................... 167 7.8.5 减法运算符 ...................................................................................................................................... 169 7.9 移位运算符 ............................................................................................................................................. 170 7.10 关系和类型测试运算符 ........................................................................................................................ 171 7.10.1 整数比较运算符 ............................................................................................................................. 172 7.10.2 浮点比较运算符 ............................................................................................................................. 173 7.10.3 小数比较运算符 ............................................................................................................................. 173 7.10.4 布尔相等运算符 ............................................................................................................................. 173 7.10.5 枚举比较运算符 ............................................................................................................................. 174 7.10.6 引用类型相等运算符...................................................................................................................... 174 7.10.7 字符串相等运算符.......................................................................................................................... 175 7.10.8 委托相等运算符 ............................................................................................................................. 176 7.10.9 相等运算符和 null........................................................................................................................ 176 7.10.10 is 运算符 ....................................................................................................................................... 176 7.10.11 as 运算符 ...................................................................................................................................... 177 7.11 逻辑运算符 ........................................................................................................................................... 178 7.11.1 整数逻辑运算符 ............................................................................................................................. 178 7.11.2 & 运算符 ........................................................................................................................................ 178 7.11.3 枚举逻辑运算符 ............................................................................................................................. 178 7.11.4 布尔逻辑运算符 ............................................................................................................................. 178 7.11.5 可以为 null 的布尔逻辑运算符 .................................................................................................. 179 7.12 条件逻辑运算符 ................................................................................................................................... 179 7.12.1 布尔条件逻辑运算符...................................................................................................................... 180 7.12.2 用户定义的条件逻辑运算符 .......................................................................................................... 180 7.13 空合并运算符 ....................................................................................................................................... 180 7.14 条件运算符 ........................................................................................................................................... 181 7.15 匿名函数表达式 ................................................................................................................................... 182 7.15.1 匿名函数签名 ................................................................................................................................ 183 x C#语言规范 7.15.2 匿名函数体 .................................................................................................................................... 183 7.15.3 重载决策 ........................................................................................................................................ 184 7.15.4 外层变量 ........................................................................................................................................ 185 7.15.4.1 捕获的外层变量 ....................................................................................................................... 185 7.15.4.2 局部变量实例化 ....................................................................................................................... 186 7.15.5 匿名函数表达式的计算 .................................................................................................................. 188 7.16 查询表达式 ........................................................................................................................................... 188 7.16.1 查询表达式中的多义性 .................................................................................................................. 189 7.16.2 查询表达式转换 ............................................................................................................................. 189 7.16.2.1 带有延续部分的 Select 和 groupby 子句 ............................................................................ 190 7.16.2.2 显式范围变量类型 ................................................................................................................... 190 7.16.2.3 简并查询表达式 ....................................................................................................................... 191 7.16.2.4 From、let、where、join 和 orderby 子句 ............................................................................. 191 7.16.2.5 Select 子句 ............................................................................................................................... 194 7.16.2.6 Groupby 子句 ............................................................................................................................ 195 7.16.2.7 透明标识符 ............................................................................................................................... 195 7.16.3 查询表达式模式 ............................................................................................................................. 196 7.17 赋值运算符 ........................................................................................................................................... 197 7.17.1 简单赋值 ........................................................................................................................................ 198 7.17.2 复合赋值 ........................................................................................................................................ 200 7.17.3 事件赋值 ........................................................................................................................................ 201 7.18 表达式 ................................................................................................................................................... 201 7.19 常量表达式 ........................................................................................................................................... 201 7.20 布尔表达式 ........................................................................................................................................... 202 8. 语句 ............................................................................................................................................................... 204 8.1 结束点和可到达性 ................................................................................................................................. 204 8.2 块 ............................................................................................................................................................. 205 8.2.1 语句列表 .......................................................................................................................................... 206 8.3 空语句 ..................................................................................................................................................... 206 8.4 标记语句 ................................................................................................................................................. 207 8.5 声明语句 ................................................................................................................................................. 207 8.5.1 局部变量声明 .................................................................................................................................. 207 8.5.2 局部常量声明 .................................................................................................................................. 209 8.6 表达式语句 ............................................................................................................................................. 209 8.7 选择语句 ................................................................................................................................................. 209 8.7.1 if 语句 ............................................................................................................................................... 210 8.7.2 switch 语句 ....................................................................................................................................... 210 8.8 迭代语句 ................................................................................................................................................. 213 8.8.1 while 语句 ......................................................................................................................................... 213 8.8.2 do 语句 ............................................................................................................................................. 214 8.8.3 for 语句 ............................................................................................................................................. 214 8.8.4 foreach 语句 ..................................................................................................................................... 215 8.9 跳转语句 ................................................................................................................................................. 218 8.9.1 break 语句 ......................................................................................................................................... 218 目录 版权所有  Microsoft Corporation 1999-2007。保留所有权利。 8.9.2 continue 语句 .................................................................................................................................... 219 8.9.3 goto 语句 .......................................................................................................................................... 219 8.9.4 return 语句 ........................................................................................................................................ 220 8.9.5 throw 语句 ........................................................................................................................................ 221 8.10 try 语句 .................................................................................................................................................. 221 8.11 checked 语句和 unchecked 语句 ............................................................................................... 224 8.12 lock 语句 ............................................................................................................................................... 224 8.13 using 语句 ............................................................................................................................................. 225 8.14 yield 语句 .............................................................................................................................................. 226 9. 命名空间 ....................................................................................................................................................... 229 9.1 编译单元 ................................................................................................................................................. 229 9.2 命名空间声明 ......................................................................................................................................... 229 9.3 Extern 别名 ............................................................................................................................................. 230 9.4 using 指令 ............................................................................................................................................... 231 9.4.1 using 别名指令 ................................................................................................................................. 231 9.4.2 Using 命名空间指令 ......................................................................................................................... 234 9.5 命名空间成员 ......................................................................................................................................... 235 9.6 类型声明 ................................................................................................................................................. 236 9.7 命名空间别名限定符 .............................................................................................................................. 236 9.7.1 别名的唯一性 .................................................................................................................................. 237 10. 类 ................................................................................................................................................................. 239 10.1 类声明 ................................................................................................................................................... 239 10.1.1 类修饰符 ........................................................................................................................................ 239 10.1.1.1 抽象类 ...................................................................................................................................... 239 10.1.1.2 密封类 ...................................................................................................................................... 240 10.1.1.3 静态类 ...................................................................................................................................... 240 10.1.2 分部修饰符 .................................................................................................................................... 241 10.1.3 类型形参 ........................................................................................................................................ 241 10.1.4 类基本规范 .................................................................................................................................... 241 10.1.4.1 基类 .......................................................................................................................................... 242 10.1.4.2 接口实现 .................................................................................................................................. 243 10.1.5 类型形参约束 ................................................................................................................................ 243 10.1.6 类体 ................................................................................................................................................ 246 10.2 分部类型 ............................................................................................................................................... 247 10.2.1 属性 ................................................................................................................................................ 247 10.2.2 修饰符 ............................................................................................................................................ 247 10.2.3 类型形参和约束 ............................................................................................................................. 247 10.2.4 基类 ................................................................................................................................................ 248 10.2.5 基接口 ............................................................................................................................................ 248 10.2.6 成员 ................................................................................................................................................ 249 10.2.7 分部方法 ........................................................................................................................................ 249 10.2.8 名称绑定 ........................................................................................................................................ 251 10.3 类成员 ................................................................................................................................................... 252 10.3.1 实例类型 ........................................................................................................................................ 253 xii C#语言规范 10.3.2 构造类型的成员 ............................................................................................................................. 253 10.3.3 继承 ................................................................................................................................................ 254 10.3.4 new 修饰符 ..................................................................................................................................... 255 10.3.5 访问修饰符 .................................................................................................................................... 255 10.3.6 构成类型 ........................................................................................................................................ 255 10.3.7 静态成员和实例成员...................................................................................................................... 255 10.3.8 嵌套类型 ........................................................................................................................................ 256 10.3.8.1 完全限定名 ............................................................................................................................... 256 10.3.8.2 已声明可访问性 ............................................................................................................
用户评论
码姐姐匿名网友 2018-12-29 00:57:40

很好的C#学习的资源,多谢了,