文件名称:
C# 语言规范 作者Scott Wiltamuth 和 Anders Hejlsberg
开发工具:
文件大小: 2mb
下载次数: 0
上传时间: 2010-05-17
详细说明:
C# 语言规目录 C# 语言规范 1 目录 2 1. 介绍 17 1.1 开始 18 1.2 类型 19 1.2.1 预定义类型 22 1.2.2 转换 24 1.2.3 数组类型 25 1.2.4 类型系统统一化 28 1.3 变量和参数 29 1.4 自动内存管理 34 1.5 表达式 37 1.6 语句 38 1.7 类 42 1.7.1 常数 45 1.7.2 字段 46 1.7.3 方法 48 1.7.4 属性 50 1.7.5 事件 51 1.7.6 运算符 53 1.7.7 索引器 55 1.7.8 实例构造函数 57 1.7.9 析构函数 59 1.7.10 静态构造函数 60 1.7.11 继承 61 1.8 结构 63 1.9 接口 64 1.10 委托 66 1.11 枚举 67 1.12 命名空间和程序集 68 1.13 版本控制 70 1.14 属性 73 2. 词法结构 75 2.1 程序 76 2.2 语法 77 2.2.1 文法表示法 78 2.2.2 词法文法 79 2.2.3 句法文法 80 2.3 词法分析 81 2.3.1 行结束符 82 2.3.2 空白 83 2.3.3 注释 84 2.4 标记 86 2.4 .1 Unicode 字符转义序列 87 2.4.2 标识符 88 2.4.3 关键字 90 2.4.4 文本 91 2.4.4.1 布尔值 92 2.4.4.2 整数 93 2.4.4.3 实数 95 2.4.4.4 字符 96 2.4.4.5 字符串 97 2.4.4.6 空文本 99 2.4.5 运算符和标点符号 100 2.5 预处理指令 101 2.5.1 条件编译符号 103 2.5.2 预处理表达式 104 2.5.3 声明指令 105 2.5.4 条件编译指令 107 2.5.5 诊断指令 110 2.5.6 区域指令 111 2.5.7 行指令 112 3. 基本概念 113 3.1 应用程序启动 114 3.2 应用程序终止 115 3.3 声明 116 3.4 成员 119 3.4.1 命名空间成员 120 3.4.2 结构成员 121 3.4.3 枚举成员 122 3.4.4 类成员 123 3.4.5 接口成员 124 3.4.6 数组成员 125 3.4.7 委托成员 126 3.5 成员访问 127 3.5.1 已声明可访问性 128 3.5.2 可访问域 129 3.5.3 实例成员的受保护访问 132 3.5.4 可访问性约束 133 3.6 签名和重载 134 3.7 范围 135 3.7.1 名称隐藏 138 3.7.1.1 通过嵌套隐藏 139 3.7.1.2 通过继承隐藏 140 3.8 命名空间和类型名称 142 3.8.1 完全限定名 144 3.9 自动内存管理 145 3.10 执行顺序 148 4. 类型 149 4.1 值类型 150 4.1.1 System.ValueType 类型 151 4.1.2 默认构造函数 152 4.1.3 结构类型 153 4.1.4 简单类型 154 4.1.5 整型 155 4.1.6 浮点型 156 4.1.7 decimal 类型 157 4.1.8 bool 类型 158 4.1.9 枚举类型 159 4.2 引用类型 160 4.2.1 类类型 161 4.2.2 对象类型 162 4.2.3 string 类型 163 4.2.4 接口类型 164 4.2.5 数组类型 165 4.2.6 委托类型 166 4.3 装箱和取消装箱 167 4.3.1 装箱转换 168 4.3.2 取消装箱转换 170 5. 变量 171 5.1 变量类别 172 5.1.1 静态变量 173 5.1.2 实例变量 174 5.1.2.1 类中的实例变量 175 5.1.2.2 结构中的实例变量 176 5.1.3 数组元素 177 5.1.4 值参数 178 5.1.5 引用参数 179 5.1.6 输出参数 180 5.1.7 局部变量 181 5.2 默认值 182 5.3 明确赋值 183 5.3.1 初始已赋值变量 184 5.3.2 初始未赋值变量 185 5.3.3 确定明确赋值的细则 186 5.3.3.1 一般语句规则 187 5.3.3.2 块语句、checked 和 unchecked 语句 188 5.3.3.3 表达式语句 189 5.3.3.4 声明语句 190 5.3.3.5 if 语句 191 5.3.3.6 switch 语句 192 5.3.3.7 while 语句 193 5.3.3.8 do 语句 194 5.3.3.9 for 语句 195 5.3.3.10 break、continue 和 goto 语句 196 5.3.3.11 throw 语句 197 5.3.3.12 return 语句 198 5.3.3.13 try-catch 语句 199 5.3.3.14 try-finally 语句 200 5.3.3.15 try-catch-finally 语句 201 5.3.3.16 foreach 语句 203 5.3.3.17 using 语句 204 5.3.3.18 lock 语句 205 5.3.3.19 简单表达式的一般规则 206 5.3.3.20 带有嵌入表达式的表达式的一般规则 207 5.3.3.21 调用表达式和对象创建表达式 208 5.3.3.22 简单赋值表达式 209 5.3.3.23 && 表达式 210 5.3.3.24 || 表达式 211 5.3.3.25 ! 表达式 212 5.3.3.26 ?: 表达式 213 5.4 变量引用 214 5.5 变量引用的原子性 215 6. 转换 216 6.1 隐式转换 217 6.1.1 标识转换 218 6.1.2 隐式数值转换 219 6.1.3 隐式枚举转换 220 6.1.4 隐式引用转换 221 6.1.5 装箱转换 222 6.1.6 隐式常数表达式转换 223 6.1.7 用户定义的隐式转换 224 6.2 显式转换 225 6.2.1 显式数值转换 226 6.2.2 显式枚举转换 228 6.2.3 显式引用转换 229 6.2.4 取消装箱转换 230 6.2.5 用户定义的显式转换 231 6.3 标准转换 232 6.3.1 标准隐式转换 233 6.3.2 标准显式转换 234 6.4 用户定义的转换 235 6.4.1 允许的用户定义转换 236 6.4.2 用户定义转换的计算 237 6.4.3 用户定义的隐式转换 238 6.4.4 用户定义的显式转换 239 7. 表达式 240 7.1 表达式的分类 241 7.1.1 表达式的值 242 7.2 运算符 243 7.2.1 运算符的优先级和顺序关联性 244 7.2.2 运算符重载 245 7.2.3 一元运算符重载决策 246 7.2.4 二元运算符重载决策 247 7.2.5 候选用户定义运算符 248 7.2.6 数值提升 249 7.2.6.1 一元数值提升 250 7.2.6.2 二元数值提升 251 7.3 成员查找 252 7.3.1 基类型 253 7.4 函数成员 254 7.4.1 参数列表 257 7.4.2 重载决策 260 7.4.2.1 适用的函数成员 261 7.4.2.2 更好的函数成员 262 7.4.2.3 更好的转换 263 7.4.3 函数成员调用 264 7.4.3.1 已装箱实例上的调用 265 7.5 基本表达式 266 7.5.1 文本 267 7.5.2 简称 268 7.5.2.1 块中的固定含义 269 7.5.3 带括号的表达式 271 7.5.4 成员访问 272 7.5.4.1 相同的简称和类型名称 274 7.5.5 调用表达式 275 7.5.5.1 方法调用 276 7.5.5.2 委托调用 277 7.5.6 元素访问 278 7.5.6.1 数组访问 279 7.5.6.2 索引器访问 280 7.5.7 This 访问 281 7.5.8 Base 访问 282 7.5.9 后缀增量和后缀减量运算符 283 7.5.10 new 运算符 284 7.5.10.1 对象创建表达式 285 7.5.10.2 数组创建表达式 286 7.5.10.3 委托创建表达式 288 7.5.11 typeof 运算符 290 7.5.12 checked 和 unchecked 运算符 291 7.6 一元运算符 294 7.6.1 一元加运算符 295 7.6.2 一元减运算符 296 7.6.3 逻辑否定运算符 297 7.6.4 按位求补运算符 298 7.6.5 前缀增量和减量运算符 299 7.6.6 强制转换表达式 300 7.7 算术运算符 301 7.7.1 乘法运算符 302 7.7.2 除法运算符 303 7.7.3 余数运算符 304 7.7.4 加法运算符 305 7.7.5 减法运算符 307 7.8 移位运算符 309 7.9 关系和类型测试运算符 311 7.9.1 整数比较运算符 312 7.9.2 浮点比较运算符 313 7.9.3 小数比较运算符 314 7.9.4 布尔相等运算符 315 7.9.5 枚举比较运算符 316 7.9.6 引用类型相等运算符 317 7.9.7 字符串相等运算符 319 7.9.8 委托相等运算符 320 7.9.9 is 运算符 321 7.9.10 as 运算符 322 7.10 逻辑运算符 323 7.10.1 整数逻辑运算符 324 7.10.2 枚举逻辑运算符 325 7.10.3 布尔逻辑运算符 326 7.11 条件逻辑运算符 327 7.11.1 布尔条件逻辑运算符 328 7.11.2 用户定义的条件逻辑运算符 329 7.12 条件运算符 330 7.13 赋值运算符 331 7.13.1 简单赋值 332 7.13.2 复合赋值 335 7.13.3 事件赋值 336 7.14 表达式 337 7.15 常数表达式 338 7.16 布尔表达式 339 8. 语句 340 8.1 结束点和可到达性 341 8.2 块 343 8.2.1 语句列表 344 8.3 空语句 345 8.4 标记语句 346 8.5 声明语句 347 8.5.1 局部变量声明 348 8.5.2 局部常数声明 349 8.6 表达式语句 350 8.7 选择语句 351 8.7.1 if 语句 352 8.7.2 switch 语句 353 8.8 迭代语句 357 8.8.1 while 语句 358 8.8.2 do 语句 359 8.8.3 for 语句 360 8.8.4 foreach 语句 361 8.9 跳转语句 364 8.9.1 break 语句 366 8.9.2 continue 语句 367 8.9.3 goto 语句 368 8.9.4 return 语句 370 8.9.5 throw 语句 371 8.10 try 语句 372 8.11 checked 和 unchecked 语句 375 8.12 lock 语句 376 8.13 using 语句 377 9. 命名空间 380 9.1 编译单元 381 9.2 命名空间声明 382 9.3 using 指令 384 9.3.1 using 别名指令 385 9.3.2 using 命名空间指令 388 9.4 命名空间成员 391 9.5 类型声明 392 10. 类 393 10.1 类声明 394 10.1.1 类修饰符 395 10.1.1.1 抽象类 396 10.1.1.2 密封类 397 10.1.2 类基规范 398 10.1.2.1 基类 399 10.1.2.2 接口实现 401 10.1.3 类体 402 10.2 类成员 403 10.2.1 继承 405 10.2.2 new 修饰符 406 10.2.3 访问修饰符 407 10.2.4 构成类型 408 10.2.5 静态和实例成员 409 10.2.6 嵌套类型 411 10.2.6.1 完全限定名 412 10.2.6.2 声明可访问性 413 10.2.6.3 隐藏 414 10.2.6.4 this 访问 415 10.2.6.5 对包含类型的私有和受保护成员的访问 416 10.2.7 保留成员名称 418 10.2.7.1 为属性保留的成员名称 419 10.2.7.2 为事件保留的成员名称 421 10.2.7.3 为索引器保留的成员名称 422 10.2.7.4 为析构函数保留的成员名称 423 10.3 常数 424 10.4 字段 426 10.4.1 静态和实例字段 428 10.4.2 只读字段 429 10.4.2.1 对常数使用静态只读字段 430 10.4.2.2 常数和静态只读字段的版本控制 431 10.4.3 易失字段 432 10.4.4 字段初始化 434 10.4.5 变量初始值设定项 435 10.4.5.1 静态字段初始化 437 10.4.5.2 实例字段初始化 439 10.5 方法 440 10.5.1 方法参数 442 10.5.1.1 值参数 443 10.5.1.2 引用参数 444 10.5.1.3 输出参数 446 10.5.1.4 参数数组 447 10.5.2 静态和实例方法 450 10.5.3 虚拟方法 451 10.5.4 重写方法 454 10.5.5 密封方法 456 10.5.6 抽象方法 457 10.5.7 外部方法 459 10.5.8 方法体 460 10.5.9 方法重载 461 10.6 属性 462 10.6.1 静态和实例属性 463 10.6.2 访问器 464 10.6.3 虚拟、密封、重写和抽象访问器 470 10.7 事件 472 10.7.1 类似字段的事件 474 10.7.2 事件访问器 476 10.7.3 静态和实例事件 478 10.7.4 虚拟、密封、重写和抽象访问器 479 10.8 索引器 480 10.8.1 索引器重载 484 10.9 运算符 485 10.9.1 一元运算符 487 10.9.2 二元运算符 488 10.9.3 转换运算符 489 10.10 实例构造函数 491 10.10.1 构造函数初始值设定项 492 10.10.2 实例变量初始值设定项 493 10.10.3 构造函数执行 494 10.10.4 默认构造函数 497 10.10.5 私有构造函数 498 10.10.6 可选的实例构造函数参数 499 10.11 静态构造函数 500 10.12 析构函数 503 11. 结构 505 11.1 结构声明 506 11.1.1 结构修饰符 507 11.1.2 结构接口 508 11.1.3 结构体 509 11.2 结构成员 510 11.3 类和结构的区别 511 11.3.1 值语义 512 11.3.2 继承 513 11.3.3 赋值 514 11.3.4 默认值 515 11.3.5 装箱和取消装箱 516 11.3.6 this 的意义 517 11.3.7 字段初始值设定项 518 11.3.8 构造函数 519 11.3.9 析构函数 521 11.4 结构示例 522 11.4.1 数据库整数类型 523 11.4.2 数据库布尔类型 526 12. 数组 529 12.1 数组类型 530 12.1.1 System.Array 类型 531 12.2 数组创建 532 12.3 数组元素访问 533 12.4 数组成员 534 12.5 数组协方差 535 12.6 数组初始值设定项 536 13. 接口 538 13.1 接口声明 539 13.1.1 接口修饰符 540 13.1.2 基接口 541 13.1.3 接口体 542 13.2 接口成员 543 13.2.1 接口方法 544 13.2.2 接口属性 545 13.2.3 接口事件 546 13.2.4 接口索引器 547 13.2.5 接口成员访问 548 13.3 完全限定接口成员名 551 13.4 接口实现 552 13.4.1 显式接口成员实现 553 13.4.2 接口映射 556 13.4.3 接口实现继承 560 13.4.4 接口重新实现 562 13.4.5 抽象类和接口 564 14. 枚举 565 14.1 枚举声明 566 14.2 枚举修饰符 567 14.3 枚举成员 568 14.4 System.Enum 类型 571 14.5 枚举值和运算 572 15. 委托 573 15.1 委托声明 574 15.2 委托实例化 576 15.3 委托调用 577 16. 异常 580 16.1 导致异常的原因 581 16.2 System.Exception 类 582 16.3 异常的处理方式 583 16.4 公共异常类 584 17. 属性 585 17.1 属性类 586 17.1.1 属性用法 587 17.1.2 定位和命名参数 589 17.1.3 属性参数类型 590 17.2 属性专用化 591 17.3 属性实例 596 17.3.1 属性的编译 597 17.3.2 属性实例的运行时检索 598 17.4 保留属性 599 17.4.1 AttributeUsage 属性 600 17.4.2 Conditional 属性 601 17.4.3 Obsolete 属性 604 17.5 交互操作的属性 606 17.5.1 与 COM 和 Win32 组件的交互操作 607 17.5.2 与其他 .NET 语言的交互操作 608 17.5.2.1 IndexerName 属性 609 A. 不安全代码 610 A.1 不安全上下文 611 A.2 指针类型 614 A.3 固定和可移动变量 617 A.4 指针转换 618 A.5 表达式中的指针 620 A.5.1 指针间接寻址 621 A.5.2 指针成员访问 622 A.5.3 指针元素访问 624 A.5.4 address-of 运算符 625 A.5.5 指针增加和减小 626 A.5.6 指针算法 627 A.5.7 指针比较 629 A.5.8 sizeof 运算符 630 A.6 固定语句 631 A.7 堆栈分配 635 A.8 动态内存分配 637 B. 文档注释 640 B.1 介绍 641 B.2 建议的标记 642 B.2.1 643 B.2.2 644 B.2.3 645 B.2.4 646 B.2.5 647 B.2.6 648 B.2.7 650 B.2.8 651 B.2.9 652 B.2.10 653 B.2.11 654 B.2.12 655 B.2.13 656 B.2.14 657 B.2.15 658 B.2.16 659 B.3 处理文档文件 660 B.3.1 ID 字符串格式 661 B.3.2 ID 字符串示例 662 B.4 示例 667 B.4.1 C# 源代码 668 B.4.2 产生的 XML 672 C. 语法 676 D. 参考书目 707 ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.