C#语言规范(5.0)

所需积分/C币:50 2019-01-07 13:17:29 17.2MB PDF
收藏 收藏
举报

C#语言规范文档,是描述C#语言语法语义的标准文档,是最权威的C#语言资源。
目录 目录 1.介绍 ·D··。··非。DD··。自。··鲁D●。··鲁看。看音。。。。。鲁。自。非。·音 1. 1 Hello world 12程序结构 1.3类型和变量 。“面 1.4表达式 1.5语句 16类和对象 12 16.成员 12 1.6.2可访问性 13 1.6.3类型形参 1.64基类 14 1.6.5字段.… 14 1.6.6方法. …······················ .15 1.6.6.1参数 ·, 1.6.6.2方法体和局部变量 1.6.6.3静态方法和实例方法 1.6.6.4虚方法、重写方法和抽象方法 .· 18 16.6.5方法重载 .20 1.67其他函数成员 20 1.6.7.1构造函数 2 1.6.7.2属性 ··:··:··········· ……………23 1673索引器 16.7.4事件 1新着垂 24 1.6.7.5运算符 24 1.6.7.6析构函数…… 1.7结构.. 25 18数组 ········· .26 19接∏ 27 1.10枚举. 1.11委托 29 1.12特性 4········· 30 2.词法结构 33 21程序 33 2.,2文法 221文法表示法 .3 222词法文法 2.23句法文法… 2.3语法分析 34 2.3.1行结束符 .35 2.3.2注释. 版权所有 C Microsoft Corporation199)2012。保留所有权利 C# LANGUAGE SPECIFICATION 233空白 6 24标记 37 24. 1 Unicode字符转义序列 37 24.2标识符. .138 24.3关键字 244文本 .40 2441布尔值. 2442整数 40 2443实数 2444字符 42 2445字符串 …43 2446nu文本 24.5运算符和标点符号 25预处理指令… ·单···4····;···4······.·.···;···········;·· 45 2.51条件编译符号… 2.52预处理表达式 47 253声明指令 47 2.54条件编译指令 48 255诊断指令 ……51 2.5.6区域指令 2.57行指令 52 25:8 Pragma指令 ··4 2. 5.8. 1 Pragma warning 音·垂 3.基本概念 5 3.1应用程序启动 3.2应用程序终止 56 3.3声明 56 34成员 58 34.1命名空间成员 …58 342结构成员…58 343枚举成员… .,·,垂垂 344类成员 ………………………………………………………………………………………59 345接口成员 59 346数组成员 347委托成员 9 35成员访问 3.5.1已声明可访问性 3.52可访问域 垂 3.53实例成员的受保护访问. 63 3.54可访问性约束 36签名和重载… ·,垂 65 3.7范围 版权所有@ Microsoft Corporation192012.保房所权利。 目录 3.7.1名称隐藏 3.7.1.1通过嵌套隐藏 68 3.7.1.2通过承隐藏 69 38命名空间和类型名称 70 3.8.1完全限定名 72 3.9自动内存管理 3.10执行顺序 75 4.类型 77 4.1值类型 77 41.1 System ValueType类型 78 4.1.2默认构造函数… 78 41.3结构类型 79 4.14简单类型 79 4.1.5整型. 4.1.6浮点型 81 4.1.7 decimal类型 ∴82 41.8bool类型 82 41.9枚举类型 …………82 41.10可以为nul的类型 83 4.2引用类型 42.1类类型 4,22对象类型 ··;4····;········;:····· 84 423 dynamic类型 ······ 84 424 string类型 85 42.5接口类型 85 42.6数组类型 85 427委托类型 85 4.3装箱和拆箱 85 43.1装箱转换 85 4.3.2拆箱转换 4.4构造类型 87 44.1类型实参 88 442开放和封闭类型 88 44.3绑定和未绑定类型 44.4满足约束 ·······················:········.····.···············.······················:················· .89 4.5类型形参 90 4.6表达式树类型 47 dynamic类型 91 5.变量… 92 51变量类別.… 92 5.1.1静态变量… 版权所有 C Microsoft Corporation199)2012。保留所有权利 C# LANGUAGE SPECIFICATION 5.12实例变量 5121类中的实例变量 92 5122结构中的实例变量 93 513数组元素 93 5.1.4值参数 93 51.5引用参数 93 5.1.6输出形参… ∴93 5.1.7局部变量 94 52默认值 94 5.3明确赋值 95 5.3.1初始已赋值变量 …95 5.3.3确定明确赋值的细则.… 96 53.3.1一般语句规则 96 5.3.3.2块语句、 checked和 unchecked语句….…......97 533.3表达式语句 97 5.3.34声明语句 .97 533.5if语句 97 53.36 switch语句 ·········:········· ……….97 53.37 while语句 98 5338do语句 98 53.39for语句 ··4 533.10 break、 continue和goo语句 面面面 98 53.3.11 throw语句 99 53312 return语句 9 53313try- catch语句 9 53314try- finally语句… …9 53315 try-catch-finally语句 5.3.3.16 foreach语句. .………………………100 53.3.7 using语句 10l 5.33.18lock语句 101 53319yeld语句… 101 533.20简单表达式的一般规则 101 53.321带有嵌入表达式的表达式的般规则 101 53322调用表达式和对象创建表达式… 102 53.323简单赋值表达式… 102 533.24&&表达式 ····:··· ·音· …………102 533,25表达式… 103 53.3.26!表达式 .………104 53.3.27??表达式 104 533282:表达式 105 5.33.29匿名函数 105 版权所有@ Microsoft Corporation192012.保房所权利。 目录 54变量引用 106 5.5变量引用的原子性 106 6.转换 107 61隐式转换 107 6.1.1标识转换 垂;· 108 6.1.2隐式数值转换…. ......……108 6.13隐式枚举转换 108 6.14可以为nul的隐式转换 108 6.1.5null文本转换. 109 6.1.6隐式引用转换 109 6.1.7装箱转换… 6.1.8隐式动态转换… ,····垂 10 6.1.9隐式常量表达式转换 110 6.1.10涉及类型形参的隐式转换 6.1.11用户定义的隐式转换. 6.1.12匿名函数转换和方法组转换 62显式转换 62.1显式数值转换 ….………….………………,………,…………………12 622显式枚举转换 113 6.23可以为nu的显式转换 113 624显式引用转换 114 6.,2.5拆箱转换. ·。··垂 ··;4····;········;:····· 115 6.2.6显式动态转换 6.27涉及类型参数的显式转换 6.28用户定义的显式转换 117 63标准转换 117 6.3.1标准隐式转换 ………,417 6.3.2标准显式转换… 117 64用户定义的转换 117 6.4.1允许的用户定义转换 6.42提升转换运算符 音····“垂 l18 643用户定义转换的计算 644用户定义的隐式转换 645用户定义的显式转换 120 65匿名函数转换… 121 6.5.1匿名函数转换为委托类型的计算 122 6.52名函数转换为表达式树类型的计算…123 6.53实现示例 123 66方法组转换 125 7.表达式 129 71表达式的分类 129 版权所有 C Microsoft Corporation199)2012。保留所有权利 C# LANGUAGE SPECIFICATION 7.1.1表达式的值… 72静态和动态绑定 7.2.1绑定时间 131 72.2动态绑定 131 723构成表达式的类型 131 7.3运算符 131 7.3.1运算符的优先级和顺序关联性…… 132 7.3.2运算符重载 133 7.3.3一元运算符重载决策. 134 7.3.4二元运算符重载决策. ..134 73.5候选用户定义运算符.. …134 7.36数值提升… 135 73.6.1一元数值提升 135 736.2二元数值提升 135 7.37提升运算符 136 74成员查找 137 7.4.1基类型 38 75函数成员 138 751实参列表 140 7.5.1.对应形参 14l 7.5.1.2实参列表的运行时计算 142 7.52类型推断 143 752.1第一阶段 144 7.52.2第二阶段… 144 7523输入类型 45 7.524输出类型 145 7.52.5依赖… 145 752.6输出类型推断 ……145 7.52.7参数类型显式推断…… 145 7.52.8精确推断 ,145 7.529下限推断 45 752.10上限推断 146 7.52.11固定 147 7.52.12推断返回类型.… 47 7.5213方法组转换的类型推断 148 7.52.14查找一组表达式的最通用类型… 149 7.53重载决策 ····:··· 149 753.1适用函数成员 149 7.53.2更好的函数成员 150 753.3表达式的更佳转换 151 7534类型的更佳转换 151 7.53.5更佳转换目标 151 版权所有@ Microsoft Corporation192012.保房所权利。 目录 7536泛型类中的重载 152 7.54动态重载决策的编译时检査 152 755函数成员调用 153 7.551口装箱实例上的调用 154 7.6基本表达式 154 7.61文本 15 7.62简单名称 155 7.62.1块中的固定含义… 156 7.6.3带括号的表达式 157 7.64成员访问.157 7.641相同的简单名称和类型名称 …159 7.642语法多义性 159 7.6.5调用表达式 160 7.65.1方法调用 161 7.6.5.2扩展方法调用… 162 7.6.5.3委托调用. 164 76.6元素访问 164 7.6.6.1数组访问 ∴…165 7.66.2索引器访问. ···:········ ……165 7.6.7this访问. 7.68基访问. 166 7.69后缀增量和后缀减量运算符. 167 7.6.10new运算符 面面面面面面B曲曲面 168 7.6.10.1对象创建表达式… 168 7.6.10.2对象初始值设定项… 169 7.6.10.3集合初始值设定项 7.6.104数组创建表达式…… 172 7.6.10.5委托创建表达式… 174 7.6.10.6匿名对象创建表达式 175 76. I I typeof运算符 7.6.12 checked和 unchecked运算符 179 7.6.13默认值表达式 l81 76.14名方法表达式 81 7.7元运算符 181 7.7.1一元加运算符… 77.2一元减运算符 l82 7.7.3逻辑定运算符 ····:··· ·音· ······ 182 7.7.4按位求补运算符 182 7.7.5前缀增量和减量运算符 ∴183 7.7.6强制转换表达式 183 7.77 Await表达式 184 777.1可等待的表达式 185 版权所有 C Microsoft Corporation199)2012。保留所有权利 C# LANGUAGE SPECIFICATION 7772awai表达式的分类 185 777.3 await表达式的运行时计算 185 7.8算术运算符 186 7.8.1乘法运算符 186 7.8.2除法运算符. 7.8.3余数运算符 .188 7.8.4加法运算符. .189 7.8.5减法运算符 91 7.9移位运算符 7.10关系和类型测试运算符… 194 7.10.1整数比较运算符. 194 7.102浮点比较运算符 195 7.10.3小数比较运算符 196 7.104布尔相等运算符 196 7.10.5枚举比较运算符 196 7.10.6引用类型相等运算符 .196 7.10.7字符串相等运算符 7.10.8委托相等运算符 198 7.10.9相等运算符和null….. ……………………………199 7.10.10is运算符 …199 7.10.11as运算符 199 7.l逻辑运算符… 200 7.1.1整数逻辑运算符 翻面曲面面面普击面 201 7.1.2枚举逻辑运算符. 201 7.13布尔逻辑运算符… 20l 7.1l4可以为nul的布尔逻辑运算符. 202 7.12条件逻辑运算符 202 7.12.1布尔条件逻辑运算符. 7.12.2用户定义的条件逻辑运算符 203 7.13空合并运算符 203 7.14条件运算符 ······.·.························· .204 7.15匿名函数表达式 205 7.15.1匿名函数签名 207 7.15.,2匿名函数体 .207 7.15.3重载决策 207 7.15.4匿名函数与动态绑定 208 7.15.5外层变量. ····:··· ·音· ……208 7.155.1捕获的外层变量 208 7.15.52局部变量实例化 209 7.156匿名函数表达式计算 1211 7.16查询表达式 211 7.16.1查询表达式的多义性… 213 版权所有@ Microsoft Corporation192012.保房所权利。

...展开详情
试读 127P C#语言规范(5.0)
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
C#语言规范(5.0) 50积分/C币 立即下载
1/127
C#语言规范(5.0)第1页
C#语言规范(5.0)第2页
C#语言规范(5.0)第3页
C#语言规范(5.0)第4页
C#语言规范(5.0)第5页
C#语言规范(5.0)第6页
C#语言规范(5.0)第7页
C#语言规范(5.0)第8页
C#语言规范(5.0)第9页
C#语言规范(5.0)第10页
C#语言规范(5.0)第11页
C#语言规范(5.0)第12页
C#语言规范(5.0)第13页
C#语言规范(5.0)第14页
C#语言规范(5.0)第15页
C#语言规范(5.0)第16页
C#语言规范(5.0)第17页
C#语言规范(5.0)第18页
C#语言规范(5.0)第19页
C#语言规范(5.0)第20页

试读结束, 可继续阅读

50积分/C币 立即下载 >