C#语言规范5.0中文版

所需积分/C币:10 2016-06-16 15:27:17 4.78MB PDF
收藏 收藏
举报

C#语言规范5.0中文版 pdf
目录 目录 1.介绍 1. 1 Hello world 12程序结构 1.3类型和变量 14表达式 1.5语句 16类和对象 12 1.6.1成员 12 162可访问性 13 1.6.3类型形参 164基类 16.5字段 14 1.6.6方法 15 16.6.1参数 …15 1.6.6.2方法体和局部变量 1.66.3静态方法和实例方法 1.6.6.4虚方法、重写方法和抽象方法 …18 1.6.6.5方法重载 20 .6.7其他函数成员 +·· 1.6.7.1构造函数 1.6.7.2属性 ·+··4···· 23 16.7.3索引器 ····4···4···········;·······4···· 3 1.6.7.4事件 24 ++··++··: 1.6.7.5运算符 1.6.7.6析构函数 25 25 18数组 .26 19接口 27 1.10枚举 28 1.11委托 29 1.12特性 30 2.词法结构 a。·。·。。。··●·。··。。B·s·。·●a·。 春·。D。e。。。非。 2.1程序 22文法 33 22.1文法表示法 b· 33 222词法文法 …,34 223句法文法 2.3语法分析 34 23.1行结束符 2.32注释… 23.3空白 36 4标讠 37 241 Unicode字符转义序列 .·········· .37 版权所有@ Microsoft Corporation19992012。(用所有权利 C# LANGUAGE SPECIFICATION 24.2标识符 .38 243关键字 39 244文本 40 2441布尔值 40 2.442整数 2443实数 41 2444字符 垂垂垂垂垂垂中垂垂垂音垂垂新垂垂垂垂垂曲垂垂垂垂垂垂·垂垂垂垂垂·垂垂垂垂垂,垂垂垂垂垂和 ·;·····看4 42 244.5字符串 43 2446nu文本 45 245运算符和标点符号 45 2.5预处理指令 2.5.1条件编译符号 252预处理表达式 47 253声明指令… ·······:······ 2.54条件编译指令 48 2.55诊断指令 51 256区域指令 51 2.57行指令 52 258 Pragma指令 2.5. 8 1 Pragma warning. 52 3.基本概念 5 3.1应用程序启动 55 3.2应用程序终止… 56 33声明 56 34成员 58 34.1命名空间成员 58 342结构成员 垂·· 343枚举成员 9 344类成员 9 34.5接口成员… 346数组成员 9 347委托成员 35成员访问 3.51已声明可访问性 3.52可访问域….60 353实例成员的受保护访问 .63 3.54可访问性约束∴ ··········:··4:··4·····:·······:·:·········· 64 36签名和重载 3.7范围… 66 3.7.1名称隐癜 3.7.1.1通过嵌套隐藏 垂 68 3.712通过继承隐藏.…… 38命名空间和类型名称 70 3.8.1完全限定名 版权所有@ Microsoft Corporation19992012。保所有权利。 目录 3.9自动内存管理… 3.10执行顺序 …75 类型 香垂鲁音音D鲁·香·非鲁D鲁音·自鲁音非音音。音音春自鲁垂音非非鲁·音自。着·。非鲁。自。·看鲁。非。。。鲁··。·。看看。。。。。着。。。·。音。。着。垂··非。D春鲁·。香。春 77 4.1值类型 ·.·········· 77 4.1 System ValueType类型 78 4.L.2默认构造函数 78 4.1.3结构类型 414简单类型 …79 41.5整型 垂非·非垂 80 4.1.6浮点型… 81 4.1.7 decimal类型 82 418bool类型 41.9枚举类型.… 82 41.10可以为null的类型 82 4.2引用类型 83 4.2.1类类型. 84 422对象类型 ……84 423 dynamic类型 84 424 string类型 卓··················:·························:·····4·:·········4···.·····4····.·············4····:············· 84 42.5接口类型 85 426数组类型 85 4.27委托类型 85 4.3装箱和拆箱 85 43.1装箱转换 85 4.32拆箱转换 4.4构造类型 87 44.1类型实参 88 442开放和封闭类型.. 44.3绑定和未绑定类型. 89 444满足约束 45类型形参… 4.6表达式树类型 47 dynamic类型 91 5.变量 ··························…······…························· 92 51变量类别 92 5.1.1静态变量 92 5.1.2实例变量 92 5.1.2.1类中的实例变量 …92 5122结构中的实例变量 93 513数组元素 93 5.1.4值参数… ∴93 51.5引用参数… · 5.1.6输出形参….......................93 517局部变量 94 版权所有@ Microsoft Corporation19992012。(用所有权利 C# LANGUAGE SPECIFICATION 5.,2默认值 ……94 5.3明确赋值 垂 …95 5.3.1初始已赋值变量……… 532初始未赋值变量 96 5.3.3确定明确赋值的细则∴.. 96 5.3.3.1一般语句规 96 53.3.2块语句、 checked和 unchecked语句... ·;····4 97 5333表达式语句 97 5334声明语句 .··.··· 97 533.5if语句… ·· 7 5336 switch语句 7 53.3.7 while语句 98 5338do语句 ......98 5.3.3.9for语句… ··········· 98 53310 break、 continue和goto语句 98 533l1thow语句 533.12 return语句 99 53313 try-catch语句 53.314 try-finally语句 99 53.315 try-catch- Tinally语句 ….100 53316 foreach语句 100 5.3.3.17 using语句… ·· ∴101 53318lock语句 101 53319yld语句… 101 533.20简单表达式的一般规则… 101 53.321带有嵌入表达式的表达式的一般规则 …10l 5.3.3.22调用表达式和对象创建表达式 102 533.23简单赋值表达式… 102 533.24&&表达式… 102 53.325表达式 垂,;,·,;·,·,·,·垂 103 5.33.26!表达式 .104 5.3.327??表达式. .···.··················.········ ·垂.··垂 104 533.289:表达式 105 533.29匿名函数 .········.·:····:···:· 54变量引用 音· 106 5.5变量引用的原子性… 106 6.转换 ··B··命··命命 ·命·命····························命 107 61隐式转换 107 6.1.1标识转换 · 6.1.2隐式数值转换 108 613隐式枚举转换 108 6.14可以为null的隐式转换 108 6.1.5null文本转换 100 6.1.6隐式引用转换… ···········4············ ·· 109 版权所有@ Microsoft Corporation19992012。保所有权利。 目录 6.1.7装箱转换 …109 61.8隐式动态转换… 110 6.1.9隐式常量表达式转换 110 61.10涉及类型形参的隐式转换 110 61.11用户定义的隐式转换 6.1.12匿名函数转换和方法组转换 111 62显式转换… III 垂垂垂中垂垂垂垂垂垂垂垂垂垂中垂丰垂垂垂垂垂垂垂垂垂垂垂垂 6.2.1显式数值转换 6.22显式枚举转换… :··:··.··:···:··:·.··:··· 113 623可以为nul的显式转换 看·垂· 113 624显式引用转换… 114 6.2.5拆箱转换 115 6.2.6显式动态转换 627涉及类型参数的显式转换 6.28用户定义的显式转换… 116 63标准转换 117 6.3.1标准隐式转换 6.32标准显式转换..17 64用户定义的转换 17 64.1允许的用户定义转换 6.42提升转换运算符 17 643用户定义转换的计算 lI8 644用户定义的隐式转换 118 64.5用户定义的显式转换 ··4·:·············4· 119 65匿名函数转换 …120 6.5.1匿名函数转换为委托类型的计算 121 6.52匿名函数转换为表达式树类型的计算 122 6.53实现示例 ··· 122 6.6方法组转换 124 7.表达式… ,.127 7.1表达式的分类 127 7.1.1表达式的值 128 72静态和动态绑定 128 7.2.1绑定时间 129 722动态绑定 129 723构成表达式的类型 ……,……………129 73运算符 。垂·垂 …129 73.1运算符的优先级和顺序关联性 130 7.32运算符重载 131 7.3.3一元运算符重载决策… 73.4二元运算符重载决策 132 7.3.5候选用户定义运算符∴ 132 7.3.6数值提升 7.3.6.1一元数值提升. ·························· ·····:·······4············:···· …133 版权所有@ Microsoft Corporation19992012。(用所有权利 C# LANGUAGE SPECIFICATION 736.2二元数值提升… 133 7.3.7提升运算符… .134 74成员查找… 13 741基类型 136 7.5函数成员 136 7.5.1实参列表 138 751.1对应形参 139 7.5.1.2实参列表的运行时计算 7.52类型推断 .······ 141 752.1第一阶段 …142 7.52.2第二阶段… 142 752.3输入类型 143 7.52.4输出类型 143 752.5依赖. 143 752.6输出类型推断 …143 7.52.7参数类型显式推断 143 7.52.8精确推断. 143 752.9下限推断 143 752.10上限推断 144 7.5211固定 145 7.52.12推断返回类型 145 7.52.13方法组转换的类型推断 752.14查找一组表达式的最通用类型 147 7.53重载决策 47 753.1适用函数成员 ······································· ····.···+··.·······4··········4·· 47 7.53.2更好的函数成员… 148 753.3表达式的更佳转换 149 7534类型的更佳转换… 149 7.53.5史佳转换日标. 149 753.6泛型类中的重载 150 7.54动态重载决策的编译时检查. 150 755函数成员调用. ……………151 755.1已装箱实例上的调用 152 7.6基本表达式 152 7.6.1文本 153 7.62简单名称 153 7.62.1块中的固定含义 …154 7.6.3带括号的表达式 155 7.64成员访问 垂B画垂垂画。垂垂面垂。 155 7.6.41相同的简单名称和类型名称 157 7.6.42语法多义性…… ……………157 7.6.5调用表达式 158 7.6.5.1方法调用 58 7.6.5.2扩展方法调用 ………159 7.6.5.3委托调用 162 版权所有@ Microsoft Corporation19992012。保所有权利。 目录 7.66元素访问… 162 7.6.6.1数组访问 ∴.162 7.6.6.2索引器访问. 163 7.6.7this访问 163 7.68基访问 4········· 164 7.69后缀增量和后缀减量运算符. 7.6.10new运算符 166 7.6.10.1对象创建表达式 l66 7.6.10.2对象初始值设定项 167 7.6.10.3集合初始值设定项 看·垂· 169 7.6.10.4数组创建表达式 ··· 170 7.6.10.5委托创建表达式 172 7.6.10.6匿名对象创建表达式 173 7.6.1l1 typeof运算符 ··········· 175 7.6.12 checked和 unchecked运算符… …176 7.6.13默认值表达式 179 7.6.14匿名方法表达式… 179 7.7一元运算符 179 77.1一元加运算符 179 77.2一元减运算符 180 7.7.3逻辑否定运算符 7.7.4按位求补运算符 ∴180 77.5前缀增量和减量运算符. 181 7.7.6强制转换表达式 181 7.77 await表达式 ···4···.·····;··:············· 82 7.7.7.1可等待的表达式… 183 7.77.2 await表达式的分类 183 777.3 await表达式的运行时计算… 183 7.8算术运算符 184 7.8.1乘法运算符 垂,;,·,;·, …184 7.8.2除法运算符 185 7.8.3余数运算符 …………186 7.8.4加法运算符 87 7.8.5减法运算符.. .········.·:····:···:· ,189 7.9移位运算符. 音· 190 7.10关系和类型测试运算符 7.10.1整数比较运算符 …192 7.102浮点比较运算符… 193 7.103小数比较运算符 194 7.104布尔相等运算符 194 7.10.5枚举比较运算符 …194 710.6引用类型相等运算符. 194 7.107字符串相等运算符 196 7.108委托相等运算符 ·········· .196 7.109相等运算符和nul. 197 版权所有@ Microsoft corporation19992012。保所有权利。 C# LANGUAGE SPECIFICATION 7.10.10is运算符 197 7.10.11as运算符 97 7.1l逻缉运算符 7.11.1整数逻辑运算符 199 7.1.2枚举逻辑运算符 7.11.3布尔逻辑运算符 ∴19 7.11.4可以为nul的布尔逻辑运算符 200 7.12条件逻辑运算符 200 7.12.1布尔条件逻辑运算符. 201 7.12.2川户定义的条件逻辑运算符.… ··,·,······· 201 7.13空合并运算符… …201 7.14条件运算符 202 7.15匿名函数表达式 203 7.15.1匿名函数签名 …205 7.152匿名函数体 205 7.15.3重载决策… 205 7154匿名函数与动态绑定… 206 7.155外层变量 206 7.1551捕获的外层变量. 206 7.15.52局部变量实例化… 207 7.15.6匿名函数表达式计算 209 7.16查询表达式 209 716.1查询表达式的多义性 211 7.16,2查询表达式转换 ..··4····4 211 7.162.1带继续符的 select和 groupby子句 …211 7.16,2.2显式范围变量类型 …………212 7.16.2.3退化查询表达式 212 7.1624fom、lt、 where、join和 orderby子句 213 7.16.2.5 select于句 .….216 7.16,2.6 Groupby子句 垂,;,·,;·,·,·,·垂 217 7.16.,2.7透明标识符 217 7163查询表达式模式…218 7.17赋值运算符… 219 7.17.1简单赋值 .········.·:····:···:· 220 7.17.2复合赋值 音· 222 7.17.3事件赋值…23 7.18表达式 ……23 7.19常量表达式 223 7.20布尔表达式… …25 8.语句 227 81结束点和可到达性 227 82块229 82.1语句列表 229 83空语句 ·····“·····:·······*···········+···4·4:······· 230 版权所有@ Microsoft Corporation19992012。保所有权利。

...展开详情
试读 127P C#语言规范5.0中文版
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
  • 分享达人

    成功上传6个资源即可获取
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
C#语言规范5.0中文版 10积分/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页

试读结束, 可继续阅读

10积分/C币 立即下载 >