• Visual Studio中的《C# 语言规范》


      无意中的无意发现了个好东西——《C# 语言规范》,您不用到处下载,它就在您的Visual Studio安装目录中,例如:F:\Program Files\Microsoft Visual Studio 9.0\VC#\Specifications\2052\CSharp Language Specification.doc

      这是它的目录,全文500多页,涵盖了C#中的所有大小知识,绝对是良师益友。MSDN中是这么描述的:C# 语言规范是 C# 语法的权威资料来源。它包含有关该语言各个方面的详细信息,以及 Visual C# 产品文档未涉及的许多要点。C# 3.0 规范已经更新,并且与早期版本合并为单个文档。这么重要的东西为什么不放在MSDN里呢?

    目录
    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 静态方法和实例方法 17
    1.6.6.4 虚方法、重写方法和抽象方法 18
    1.6.6.5 方法重载 20
    1.6.7 其他函数成员 21
    1.6.7.1 构造函数 22
    1.6.7.2 属性 23
    1.6.7.3 索引器 23
    1.6.7.4 事件 23
    1.6.7.5 运算符 24
    1.6.7.6 析构函数 25
    1.7 结构 25
    1.8 数组 26
    1.9 接口 27
    1.10 枚举 28
    1.11 委托 30
    1.12 属性 31
    2. 词法结构 33
    2.1 程序 33
    2.2 文法 33
    2.2.1 文法表示法 33
    2.2.2 词法文法 34
    2.2.3 句法文法 34
    2.3 词法分析 34
    2.3.1 行结束符 35
    2.3.2 注释 35
    2.3.3 空白 37
    2.4 标记 37
    2.4.1 Unicode 字符转义序列 37
    2.4.2 标识符 38
    2.4.3 关键字 40
    2.4.4 文本 40
    2.4.4.1 布尔值 40
    2.4.4.2 整数 41
    2.4.4.3 实数 42
    2.4.4.4 字符 42
    2.4.4.5 字符串 43
    2.4.4.6 null 文本 45
    2.4.5 运算符和标点符号 45
    2.5 预处理指令 45
    2.5.1 条件编译符号 47
    2.5.2 预处理表达式 47
    2.5.3 声明指令 48
    2.5.4 条件编译指令 49
    2.5.5 诊断指令 51
    2.5.6 区域指令 51
    2.5.7 行指令 52
    2.5.8 Pragma 指令 52
    2.5.8.1 Pragma warning 53
    3. 基本概念 55
    3.1 应用程序启动 55
    3.2 应用程序终止 56
    3.3 声明 56
    3.4 成员 58
    3.4.1 命名空间成员 58
    3.4.2 结构成员 58
    3.4.3 枚举成员 59
    3.4.4 类成员 59
    3.4.5 接口成员 59
    3.4.6 数组成员 59
    3.4.7 委托成员 59
    3.5 成员访问 60
    3.5.1 已声明可访问性 60
    3.5.2 可访问域 61
    3.5.3 实例成员的受保护访问 63
    3.5.4 可访问性约束 64
    3.6 签名和重载 65
    3.7 范围 66
    3.7.1 名称隐藏 68
    3.7.1.1 通过嵌套隐藏 68
    3.7.1.2 通过继承隐藏 69
    3.8 命名空间和类型名称 70
    3.8.1 完全限定名 72
    3.9 自动内存管理 73
    3.10 执行顺序 75
    4. 类型 77
    4.1 值类型 77
    4.1.1 System.ValueType 类型 78
    4.1.2 默认构造函数 78
    4.1.3 结构类型 79
    4.1.4 简单类型 79
    4.1.5 整型 80
    4.1.6 浮点型 81
    4.1.7 decimal 类型 82
    4.1.8 bool 类型 82
    4.1.9 枚举类型 83
    4.1.10 可以为 null 的类型 83
    4.2 引用类型 83
    4.2.1 类类型 84
    4.2.2 对象类型 85
    4.2.3 string 类型 85
    4.2.4 接口类型 85
    4.2.5 数组类型 85
    4.2.6 委托类型 85
    4.3 装箱和拆箱 85
    4.3.1 装箱转换 85
    4.3.2 拆箱转换 87
    4.4 构造类型 87
    4.4.1 类型实参 88
    4.4.2 开放和封闭类型 88
    4.4.3 绑定和未绑定类型 89
    4.4.4 满足约束 89
    4.5 类型形参 90
    4.6 表达式目录树类型 91
    5. 变量 93
    5.1 变量类别 93
    5.1.1 静态变量 93
    5.1.2 实例变量 93
    5.1.2.1 类中的实例变量 93
    5.1.2.2 结构中的实例变量 94
    5.1.3 数组元素 94
    5.1.4 值参数 94
    5.1.5 引用形参 94
    5.1.6 输出形参 94
    5.1.7 局部变量 95
    5.2 默认值 95
    5.3 明确赋值 96
    5.3.1 初始已赋值变量 96
    5.3.2 初始未赋值变量 97
    5.3.3 确定明确赋值的细则 97
    5.3.3.1 一般语句规则 97
    5.3.3.2 块语句、checkedunchecked 语句 98
    5.3.3.3 表达式语句 98
    5.3.3.4 声明语句 98
    5.3.3.5 if 语句 98
    5.3.3.6 switch 语句 99
    5.3.3.7 while 语句 99
    5.3.3.8 do 语句 99
    5.3.3.9 for 语句 99
    5.3.3.10 breakcontinuegoto 语句 100
    5.3.3.11 throw 语句 100
    5.3.3.12 return 语句 100
    5.3.3.13 try-catch 语句 100
    5.3.3.14 try-finally 语句 100
    5.3.3.15 try-catch-finally 语句 101
    5.3.3.16 foreach 语句 102
    5.3.3.17 using 语句 102
    5.3.3.18 lock 语句 102
    5.3.3.19 yield 语句 103
    5.3.3.20 简单表达式的一般规则 103
    5.3.3.21 带有嵌入表达式的表达式的一般规则 103
    5.3.3.22 调用表达式和对象创建表达式 103
    5.3.3.23 简单赋值表达式 104
    5.3.3.24 && 表达式 104
    5.3.3.25 || 表达式 105
    5.3.3.26 ! 表达式 105
    5.3.3.27 ?? 表达式 106
    5.3.3.28 ?: 表达式 106
    5.3.3.29 匿名函数 107
    5.4 变量引用 107
    5.5 变量引用的原子性 107
    6. 转换 109
    6.1 隐式转换 109
    6.1.1 标识转换 109
    6.1.2 隐式数值转换 110
    6.1.3 隐式枚举转换 110
    6.1.4 可以为 null 的隐式转换 110
    6.1.5 null 文本转换 110
    6.1.6 隐式引用转换 111
    6.1.7 装箱转换 111
    6.1.8 隐式常量表达式转换 112
    6.1.9 涉及类型形参的隐式转换 112
    6.1.10 用户定义的隐式转换 112
    6.1.11 匿名函数转换和方法组转换 112
    6.2 显式转换 112
    6.2.1 显式数值转换 113
    6.2.2 显式枚举转换 114
    6.2.3 可以为 null 的显式转换 115
    6.2.4 显式引用转换 115
    6.2.5 拆箱转换 116
    6.2.6 涉及类型形参的显式转换 116
    6.2.7 用户定义的显式转换 117
    6.3 标准转换 117
    6.3.1 标准隐式转换 117
    6.3.2 标准显式转换 117
    6.4 用户定义的转换 118
    6.4.1 允许的用户定义转换 118
    6.4.2 提升转换运算符 118
    6.4.3 用户定义转换的计算 118
    6.4.4 用户定义的隐式转换 119
    6.4.5 用户定义的显式转换 120
    6.5 匿名函数转换 121
    6.5.1 匿名函数转换为委托类型的计算 122
    6.5.2 匿名函数转换为表达式目录树类型的计算 122
    6.5.3 实现示例 122
    6.6 方法组转换 125
    7. 表达式 127
    7.1 表达式的分类 127
    7.1.1 表达式的值 128
    7.2 运算符 128
    7.2.1 运算符的优先级和顺序关联性 128
    7.2.2 运算符重载 129
    7.2.3 一元运算符重载决策 131
    7.2.4 二元运算符重载决策 131
    7.2.5 候选用户定义运算符 131
    7.2.6 数值提升 131
    7.2.6.1 一元数值提升 132
    7.2.6.2 二元数值提升 132
    7.2.7 提升运算符 133
    7.3 成员查找 134
    7.3.1 基类型 135
    7.4 函数成员 135
    7.4.1 实参列表 137
    7.4.2 类型推断 140
    7.4.2.1 第一阶段 140
    7.4.2.2 第二阶段 141
    7.4.2.3 输入类型 141
    7.4.2.4 输出类型 141
    7.4.2.5 依赖 141
    7.4.2.6 输出类型推断 141
    7.4.2.7 参数类型显式推断 141
    7.4.2.8 精确推断 142
    7.4.2.9 下限推断 142
    7.4.2.10 固定 142
    7.4.2.11 推断返回类型 142
    7.4.2.12 方法组转换的类型推断 144
    7.4.2.13 查找一组表达式的最通用类型 144
    7.4.3 重载决策 144
    7.4.3.1 适用函数成员 145
    7.4.3.2 更好的函数成员 145
    7.4.3.3 表达式的更佳转换 146
    7.4.3.4 类型的更佳转换 146
    7.4.3.5 泛型类中的重载 147
    7.4.4 函数成员调用 147
    7.4.4.1 已装箱实例上的调用 148
    7.5 基本表达式 149
    7.5.1 文本 149
    7.5.2 简单名称 149
    7.5.2.1 块中的固定含义 151
    7.5.3 带括号的表达式 152
    7.5.4 成员访问 152
    7.5.4.1 相同的简单名称和类型名称 154
    7.5.4.2 语法多义性 154
    7.5.5 调用表达式 155
    7.5.5.1 方法调用 155
    7.5.5.2 扩展方法调用 157
    7.5.5.3 委托调用 159
    7.5.6 元素访问 159
    7.5.6.1 数组访问 159
    7.5.6.2 索引器访问 160
    7.5.7 this 访问 160
    7.5.8 base 访问 161
    7.5.9 后缀增量和后缀减量运算符 162
    7.5.10 new 运算符 162
    7.5.10.1 对象创建表达式 163
    7.5.10.2 对象初始值设定项 164
    7.5.10.3 集合初始值设定项 166
    7.5.10.4 数组创建表达式 167
    7.5.10.5 委托创建表达式 169
    7.5.10.6 匿名对象创建表达式 170
    7.5.11 typeof 运算符 172
    7.5.12 checkedunchecked 运算符 173
    7.5.13 默认值表达式 175
    7.5.14 匿名方法表达式 176
    7.6 一元运算符 176
    7.6.1 一元加运算符 176
    7.6.2 一元减运算符 176
    7.6.3 逻辑否定运算符 177
    7.6.4 按位求补运算符 177
    7.6.5 前缀增量和减量运算符 178
    7.6.6 强制转换表达式 178
    7.7 算术运算符 179
    7.7.1 乘法运算符 179
    7.7.2 除法运算符 180
    7.7.3 余数运算符 181
    7.7.4 加法运算符 182
    7.7.5 减法运算符 184
    7.8 移位运算符 186
    7.9 关系和类型测试运算符 187
    7.9.1 整数比较运算符 187
    7.9.2 浮点比较运算符 188
    7.9.3 小数比较运算符 189
    7.9.4 布尔相等运算符 189
    7.9.5 枚举比较运算符 189
    7.9.6 引用类型相等运算符 189
    7.9.7 字符串相等运算符 191
    7.9.8 委托相等运算符 191
    7.9.9 相等运算符和 null 192
    7.9.10 is 运算符 192
    7.9.11 as 运算符 193
    7.10 逻辑运算符 193
    7.10.1 整数逻辑运算符 194
    7.10.2 枚举逻辑运算符 194
    7.10.3 布尔逻辑运算符 194
    7.10.4 可以为 null 的布尔逻辑运算符 194
    7.11 条件逻辑运算符 195
    7.11.1 布尔条件逻辑运算符 196
    7.11.2 用户定义的条件逻辑运算符 196
    7.12 空合并运算符 196
    7.13 条件运算符 197
    7.14 匿名函数表达式 198
    7.14.1 匿名函数签名 199
    7.14.2 匿名函数体 200
    7.14.3 重载决策 200
    7.14.4 外层变量 201
    7.14.4.1 捕获的外层变量 201
    7.14.4.2 局部变量实例化 202
    7.14.5 匿名函数表达式的计算 204
    7.15 查询表达式 204
    7.15.1 查询表达式中的多义性 205
    7.15.2 查询表达式转换 206
    7.15.2.1 带有延续部分的 select 和 GroupBy 子句 206
    7.15.2.2 显式范围变量类型 206
    7.15.2.3 简并查询表达式 207
    7.15.2.4 from、let、where、join 和 orderby 子句 208
    7.15.2.5 select 子句 211
    7.15.2.6 GroupBy 子句 211
    7.15.2.7 透明标识符 212
    7.15.3 查询表达式模式 213
    7.16 赋值运算符 214
    7.16.1 简单赋值 215
    7.16.2 复合赋值 217
    7.16.3 事件赋值 217
    7.17 表达式 218
    7.18 常量表达式 218
    7.19 布尔表达式 219
    8. 语句 221
    8.1 结束点和可到达性 221
    8.2223
    8.2.1 语句列表 223
    8.3 空语句 224
    8.4 标记语句 224
    8.5 声明语句 225
    8.5.1 局部变量声明 225
    8.5.2 局部常量声明 226
    8.6 表达式语句 227
    8.7 选择语句 227
    8.7.1 if 语句 227
    8.7.2 switch 语句 228
    8.8 迭代语句 231
    8.8.1 while 语句 232
    8.8.2 do 语句 232
    8.8.3 for 语句 233
    8.8.4 foreach 语句 234
    8.9 跳转语句 236
    8.9.1 break 语句 237
    8.9.2 continue 语句 238
    8.9.3 goto 语句 238
    8.9.4 return 语句 239
    8.9.5 throw 语句 240
    8.10 try 语句 241
    8.11 checked 语句和 unchecked 语句 243
    8.12 lock 语句 243
    8.13 using 语句 244
    8.14 yield 语句 246
    9. 命名空间 249
    9.1 编译单元 249
    9.2 命名空间声明 249
    9.3 Extern 别名 250
    9.4 using 指令 251
    9.4.1 using 别名指令 252
    9.4.2 Using 命名空间指令 254
    9.5 命名空间成员 256
    9.6 类型声明 256
    9.7 命名空间别名限定符 257
    9.7.1 别名的唯一性 258
    10. 类 259
    10.1 类声明 259
    10.1.1 类修饰符 259
    10.1.1.1 抽象类 260
    10.1.1.2 密封类 260
    10.1.1.3 静态类 260
    10.1.2 分部修饰符 261
    10.1.3 类型形参 261
    10.1.4 类基本规范 262
    10.1.4.1 基类 262
    10.1.4.2 接口实现 264
    10.1.5 类型形参约束 264
    10.1.6 类体 267
    10.2 分部类型 268
    10.2.1 属性 268
    10.2.2 修饰符 268
    10.2.3 类型形参和约束 269
    10.2.4 基类 269
    10.2.5 基接口 269
    10.2.6 成员 270
    10.2.7 分部方法 270
    10.2.8 名称绑定 273
    10.3 类成员 273
    10.3.1 实例类型 274
    10.3.2 构造类型的成员 274
    10.3.3 继承 275
    10.3.4 new 修饰符 276
    10.3.5 访问修饰符 276
    10.3.6 构成类型 277
    10.3.7 静态成员和实例成员 277
    10.3.8 嵌套类型 278
    10.3.8.1 完全限定名 278
    10.3.8.2 已声明可访问性 278
    10.3.8.3 隐藏 279
    10.3.8.4 this 访问 279
    10.3.8.5 对包含类型的私有和受保护成员的访问 280
    10.3.8.6 泛型类中的嵌套类型 281
    10.3.9 保留成员名称 281
    10.3.9.1 为属性保留的成员名称 282
    10.3.9.2 为事件保留的成员名称 283
    10.3.9.3 为索引器保留的成员名称 283
    10.3.9.4 为析构函数保留的成员名称 283
    10.4 常量 283
    10.5 字段 284
    10.5.1 静态字段和实例字段 286
    10.5.2 只读字段 286
    10.5.2.1 对常量使用静态只读字段 287
    10.5.2.2 常量和静态只读字段的版本控制 287
    10.5.3 可变字段 288
    10.5.4 字段初始化 289
    10.5.5 变量初始值设定项 289
    10.5.5.1 静态字段初始化 290
    10.5.5.2 实例字段初始化 291
    10.6 方法 292
    10.6.1 方法形参 293
    10.6.1.1 值形参 294
    10.6.1.2 引用形参 295
    10.6.1.3 输出形参 296
    10.6.1.4 形参数组 296
    10.6.2 静态方法和实例方法 299
    10.6.3 虚方法 299
    10.6.4 重写方法 301
    10.6.5 密封方法 303
    10.6.6 抽象方法 304
    10.6.7 外部方法 305
    10.6.8 分部方法 305
    10.6.9 扩展方法 305
    10.6.10 方法体 306
    10.6.11 方法重载 307
    10.7 属性 307
    10.7.1 静态属性和实例属性 308
    10.7.2 访问器 308
    10.7.3 自动实现的属性 313
    10.7.4 可访问性 314
    10.7.5 虚、密封、重写和抽象访问器 315
    10.8 事件 316
    10.8.1 类似字段的事件 318
    10.8.2 事件访问器 320
    10.8.3 静态事件和实例事件 321
    10.8.4 虚、密封、重写和抽象访问器 321
    10.9 索引器 322
    10.9.1 索引器重载 325
    10.10 运算符 325
    10.10.1 一元运算符 327
    10.10.2 二元运算符 327
    10.10.3 转换运算符 328
    10.11 实例构造函数 330
    10.11.1 构造函数初始值设定项 331
    10.11.2 实例变量初始值设定项 332
    10.11.3 构造函数执行 332
    10.11.4 默认构造函数 334
    10.11.5 私有构造函数 334
    10.11.6 可选的实例构造函数形参 334
    10.12 静态构造函数 335
    10.13 析构函数 337
    10.14 迭代器 339
    10.14.1 枚举器接口 339
    10.14.2 可枚举接口 339
    10.14.3 产生类型 339
    10.14.4 枚举器对象 339
    10.14.4.1 MoveNext 方法 340
    10.14.4.2 Current 属性 341
    10.14.4.3 Dispose 方法 341
    10.14.5 可枚举对象 341
    10.14.5.1 GetEnumerator 方法 342
    10.14.6 实现示例 342
    11. 结构 349
    11.1 结构声明 349
    11.1.1 结构修饰符 349
    11.1.2 分部修饰符 349
    11.1.3 结构接口 350
    11.1.4 结构体 350
    11.2 结构成员 350
    11.3 类和结构的区别 350
    11.3.1 值语义 352
    11.3.2 继承 352
    11.3.3 赋值 353
    11.3.4 默认值 353
    11.3.5 装箱和取消装箱 353
    11.3.6 this 的含义 355
    11.3.7 字段初始值设定项 355
    11.3.8 构造函数 356
    11.3.9 析构函数 356
    11.3.10 静态构造函数 356
    11.4 结构示例 357
    11.4.1 数据库整数类型 357
    11.4.2 数据库布尔类型 358
    12. 数组 361
    12.1 数组类型 361
    12.1.1 System.Array 类型 362
    12.1.2 数组和泛型 IList 接口 362
    12.2 数组创建 362
    12.3 数组元素访问 363
    12.4 数组成员 363
    12.5 数组协变 363
    12.6 数组初始值设定项 363
    13. 接口 367
    13.1 接口声明 367
    13.1.1 接口修饰符 367
    13.1.2 分部修饰符 367
    13.1.3 基接口 368
    13.1.4 接口体 368
    13.2 接口成员 368
    13.2.1 接口方法 370
    13.2.2 接口属性 370
    13.2.3 接口事件 370
    13.2.4 接口索引器 370
    13.2.5 接口成员访问 370
    13.3 完全限定接口成员名 372
    13.4 接口实现 373
    13.4.1 显式接口成员实现 374
    13.4.2 所实现接口的唯一性 376
    13.4.3 泛型方法的实现 376
    13.4.4 接口映射 377
    13.4.5 接口实现继承 380
    13.4.6 接口重新实现 381
    13.4.7 抽象类和接口 382
    14. 枚举 385
    14.1 枚举声明 385
    14.2 枚举修饰符 385
    14.3 枚举成员 386
    14.4 System.Enum 类型 388
    14.5 枚举值和运算 388
    15. 委托 389
    15.1 委托声明 389
    15.2 委托兼容性 391
    15.3 委托实例化 391
    15.4 委托调用 392
    16. 异常 395
    16.1 导致异常的原因 395
    16.2 System.Exception 类 395
    16.3 异常的处理方式 395
    16.4 公共异常类 396
    17. 属性 397
    17.1 属性类 397
    17.1.1 属性用法 397
    17.1.2 定位和命名参数 398
    17.1.3 属性参数类型 399
    17.2 属性说明 399
    17.3 属性实例 404
    17.3.1 属性的编译 404
    17.3.2 属性实例的运行时检索 405
    17.4 保留属性 405
    17.4.1 AttributeUsage 属性 405
    17.4.2 Conditional 属性 406
    17.4.2.1 条件方法 406
    17.4.2.2 条件属性类 408
    17.4.3 Obsolete 属性 409
    17.5 交互操作的属性 410
    17.5.1 与 COM 和 Win32 组件的交互操作 410
    17.5.2 与其他 .NET 语言的交互操作 410
    17.5.2.1 IndexerName 属性 410
    18. 不安全代码 411
    18.1 不安全上下文 411
    18.2 指针类型 413
    18.3 固定和可移动变量 416
    18.4 指针转换 416
    18.4.1 指针数组 417
    18.5 表达式中的指针 418
    18.5.1 指针间接寻址 419
    18.5.2 指针成员访问 419
    18.5.3 指针元素访问 420
    18.5.4 address-of 运算符 421
    18.5.5 指针递增和递减 422
    18.5.6 指针算术运算 422
    18.5.7 指针比较 423
    18.5.8 sizeof 运算符 423
    18.6 fixed 语句 424
    18.7 固定大小缓冲区 427
    18.7.1 固定大小缓冲区的声明 427
    18.7.2 表达式中的固定大小缓冲区 428
    18.7.3 明确赋值检查 429
    18.8 堆栈分配 430
    18.9 动态内存分配 431
    A. 文档注释
    433
    A.
    1 简介 433
    A.
    2 建议的标记 434
    A.
    2.1 <c> 435
    A.
    2.2 <code> 436
    A.
    2.3 <example> 436
    A.
    2.4 <exception> 436
    A.
    2.5 <include> 437
    A.
    2.6 <list> 438
    A.
    2.7 <para> 438
    A.
    2.8 <param> 439
    A.
    2.9 <paramref> 439
    A.
    2.10 <permission> 440
    A.
    2.11 <remark> 440
    A.
    2.12 <returns> 441
    A.
    2.13 <see> 441
    A.
    2.14 <seealso> 441
    A.
    2.15 <summary> 442
    A.
    2.16 <value> 442
    A.
    2.17 <typeparam> 442
    A.
    2.18 <typeparamref> 443
    A.
    3 处理文档文件 443
    A.
    3.1 ID 字符串格式 443
    A.
    3.2 ID 字符串示例 445
    A.
    4 示例 448
    A.
    4.1 C# 源代码 448
    A.
    4.2 产生的 XML 451
    B. 语法
    455
    B.
    1 词法文法 455
    B.
    1.1 行结束符 455
    B.
    1.2 注释 455
    B.
    1.3 空白 456
    B.
    1.4 标记 456
    B.
    1.5 Unicode 字符转义序列 456
    B.
    1.6 标识符 456
    B.
    1.7 关键字 457
    B.
    1.8 文本 458
    B.
    1.9 运算符和标点符号 460
    B.
    1.10 预处理指令 460
    B.
    2 句法文法 462
    B.
    2.1 基本概念 462
    B.
    2.2 类型 462
    B.
    2.3 变量 464
    B.
    2.4 表达式 464
    B.
    2.5 语句 470
    B.
    2.6 命名空间 474
    B.
    2.7475
    B.
    2.8 结构 481
    B.
    2.9 数组 482
    B.
    2.10 接口 482
    B.
    2.11 枚举 483
    B.
    2.12 委托 484
    B.
    2.13 属性 484
    B.
    3 不安全代码的语法扩展 485
    C. 参考资料
    489
    Summary:当我们学习一门语言的时候,总会买一两本参考书(或者是下载),学习一些基础的语法,其实语言也是一种软件产品,肯定会有其说明文档,而且大部分都免费提供,想想如果真的想参考的话,到底哪个权威呢?哪个方便呢?
  • 相关阅读:
    HDU ACM 1020 Encoding
    HDU ACM 1019 Least Common Multiple
    HDU ACM 1009 FatMouse' Trade
    HDU ACM 1032 The 3n + 1 problem
    HD ACM 1061 Rightmost Digit
    UVa 401 Palindromes
    UVa 489 Hangman Judge
    HDU ACM 1071 The area
    5/25
    受涼6/8
  • 原文地址:https://www.cnblogs.com/eshizhan/p/1658758.html
Copyright © 2020-2023  润新知