C#语言规范5.0

所需积分/C币:24 2019-02-06 21:18:22 2.3MB PDF
收藏 收藏
举报

C#语言规范5.0 是微软发布的资料,本资料为文字资料,不是扫描版。
目录 目录 1.介绍 1. 1 Hello world ..· 1.2程序结构. 1.3类型和变量 1.4表达式 2368 1.5语句 16类和对象 .···· 12 1.6.1成员 1.6.2可访问性 .13 16.3类型形参 13 164基类 14 1.6.5字段.… …14 16.6方法 15 1.6.6.1参数 16.62方法体和局部变量. 16.6.3静态方法和实例方法 1.6.6.4虚方法、重写方法和抽象方法 垂· 16.6.5方法重载… “··· 20 1.6.7其他函数成员 .21 1.6.7.1构造函数 ……22 1.6.7.2属性 1.6.7.3索引器… 23 1.6.7.4事件 .24 1.6.7.5运算符 24 1.6.7.6析构函数 ····.····· ·“.·········+·············· 25 17结构. 25 18数组 26 19接口 ….27 1.10枚举 28 1.11委托 29 1.12特性 30 2.词法结构… 自。自。垂鲁非。。。·。 。。。·鲁D鲁。非看香。。自。。鲁鲁。。。· ···········D·D···;····D······:·.·····。·· 春.。·。自看音。。。。DI 33 2.1程序 33 2.2文法 33 2.2.1文法表示法 · 3 222词法文法. 34 223句法文法… 34 2.3语法分析 …34 2.3.1行结束符. 35 2.3.2注释. 35 23.3空白 36 24标记…… ·…··:············· 24.1 Unicode字符转义序列 ∴37 版权所有 Microsoft Corporation1999-2012。保留所有权利 C# LANGUAGE SPECIFICATION 2.4.2标识符. 38 243关键字… 244文本 40 2441布尔值. 40 2.442整数 40 2443实数 41 2444字符 2.445字符串 244.6null文本 · ·· 24.5运算符和标点符号 垂·垂··垂 45 5预处理指令 2.5.1条件编译符号 252预处理表达式 47 253声明指令 47 2.54条件编译指令 48 255诊断指令.… 51 2.56区域指令 2.5.7行指令 52 2..8 Pragma指令 ,· .52 2.5.8. I Pragma warning ……53 3.基本概念 3.1应用程序启动 32应用程序终止 .3声明 34成员 34.1命名空问成员 8 3.42结构成员 ···“······· ·····,·· …58 343枚举成员 59 344类成员 59 34.5接口成员 ····4········:·4···4······ 346数组成员 347委托成员 3.5成员访问.… 60 3.5.1已声明可访问性 .60 3.52可访问域…… ····················:·:····· 60 353实例成员的受保护访问 63 3.54可访问性约束… ·········4········;4····:···:·:··········.··· 64 3.6签名和重载 3.7范围 ∴66 3.7.1名称隐藏 3.7.1.1通过嵌套隐藏 ·.······· ∴68 3.71.2通过继承隐藏 …69 38命名空间和类型名称 3.81完全限定名 72 版权所有 Microsoft Corporation1992012。保留所有权利 目录 39自动内存管理. 3.10执行顺序 75 4.类型 ··.······································命a····B···· 77 4.1值类型 ………7 41.1 System. Valuc Type类型 4.L.2默认构造函数 78 4.1.3结构类型 79 4.14简单类型 4.1.5整型 .·:····.···· 80 4.1.6浮点型 4.L.7 decimal类型 82 4.1.8bool类型 82 4.1.9枚举类型 ··.···:··:·+·* 82 41.10可以为nul的类型 83 4.2引用类型 83 42.1类类型 84 42.2对象关型 84 423 dynamic类型 84 42.4 string类型 85 42.5接口类型 85 42.6数组类型 4.27委托类型 85 4.3裝箱和拆箱.… 4······; 85 43.1装箱转换 85 4.32拆箱转换 .87 44构造类型 ···· 87 44.1类型实参 88 442开放和封闭类型 44.3绑定和未绑定类型 ············:········ 89 444满足约束.… “·“·“.+ 89 4.5类型形参 ···········.·····“···:·:·;·;········· 4.6表达式树类型 4.7 dynamic类型 91 5变量 93 51变量类别 93 51.1静态变量 93 5.1.2实例变量 5.1.2.1类中的实例变量........93 5.122结构中的实例变量. 94 5.13数组元素 94 5.1.4值参数. · 94 5.1.5引用参数 …94 5.1.6输出形参. 94 51.7局部变量 版权所有 Microsoft Corporation1999-2012。保留所有权利 C# LANGUAGE SPECIFICATION 5.,2默认值… 95 5.3明确赋值. 96 5.3.1初始已赋值变量. .96 5.32初始未赋值变量 97 533确定明确赋值的细则 97 5.3.3.1一般语句规则 97 53.3.2块语句、 checked和 unchecked语句. .98 5333表达式语句 5334声明语句 533.5if语句…… 98 5.3.3.6 switch语句 99 5.3.3.7whle语句 99 53.38do语句 533.9for语句 99 533.10 break、 continue和goto语句 100 5.3.3.11hrow语句 100 533.12 return语句 100 533.13 try-catch请句… 533.14try- finally语句… 100 53.315try- catch- finally语句… 10l 53316 foreach语句 102 533.17 using语句 l02 5.3.3.18lock语句 102 53.319yeld语句 ··:········;····· 102 5.3.3.20简单表达式的一般规则 ·····4···;····4····4··· ·······4·:·;········ 102 533.21带有嵌入表达式的表达式的一般规则 …102 533.22调用表达式和对象创建表达式 103 533.23简单赋值表达式…… 非· 533.24&&表达式… 103 533.25‖表达式… 104 53.3.26!表达式 105 533.27??表达式 105 5.3328?:表达式 106 5.3.3.29匿名函数 l06 54变量引用 107 55变量引用的原子性…… 107 6.转换..…109 6.1隐式转换 109 6.1.1标识转换 6.1.2隐式数值转挨… 61.3隐式枚举转换 .110 6.14可以为nul的隐式转换 110 6.1.5null文本转换 ..ll1 6.1.6隐式引用转换. II 版权所有 Microsoft Corporation1992012。保留所有权利 目录 6.1.7装箱转换… 111 6.1.8隐式动态转换 6.1.9隐式常量表达式转换 [I2 6.1.10涉及类型形参的隐式转换 112 6.1.11用户定义的隐式转换 113 6.1.12匿名函数转换和方法组转换 113 6.2显式转换. …………………………………………………113 6.2.1显式数值转换 ·++·+··+·· 114 6.,22显式枚举转换 623可以为nul的显式转换 115 6.2.4显式引用转换 6.2.5拆箱转换 6.26显式动态转换 117 6.27涉及类型参数的显式转换 6.28用户定义的显式转换 119 6.3标准转换 6.3.1标准隐式转换 6.32标准显式转换 19 4用户定义的转换 119 64.1允许的用户定义转换 642提升转换运算符 120 643用户定义转换的计算 120 644用户定义的隐式转换. 121 64.5用户定义的显式转换. ············4·····························;·;··········:·:·+·· 121 6.5匿名函数转换 ······:·;·;;···········.;······ 6.5.1匿名函数转换为委托类型的计算 124 6.52若名函数转换为表达式树类型的计算 124 6.53实现示例 ····:· 124 6.6方法组转换. 127 7.表达式…. 129 7.1表达式的分类 129 7.1.1表达式的值 ·······+······4··:·· 130 72静态和动态绑定 .···.········.···· 130 721绑定时间 131 722动态绑定 131 723构成表达式的类型 ··垂 131 73运算符…. .131 73.1运算符的优先级和顺序关联性 132 7.32运算符重载 133 7.33一元运算符重载决策 134 7.34二元运算符重载决策 134 7.3.5候选用户定义运算符. 134 7.3.6数值提升… 135 7.3.6.1一元数值提升 …135 版权所有 Microsoft Corporation1999-2012。保留所有权利 C# LANGUAGE SPECIFICATION 73.6.2二元数值提升∴ 1·· 135 7.3.7提升运算符… ···:·:···· 136 74成员查找… 137 7.4.1基类型. 138 75函数成员 …138 7.51实参列表 垂 140 7.511对应形参 ··申非·新 14l 7.5.1.2实参列表的运行时计算 .142 7.52类型推断.… ··· 1··· 143 752.1第一阶段 144 7.52.2第二阶段…… 144 · 7.523输入类型 45 7.52.4输出类型… 145 7.525依赖 145 752.6输出类型推断 145 7.52.7参数类型显式推断 145 7.52.8精确推断. 145 7.52.9下限推断146 7.52.10上限推断. ,, 146 7.52.11固定… …147 7.52.12推断返回类型. ·,·垂· 147 7.52.13方法组转换的类型推断 .148 7.52.14查找一组表达式的最通用类型 149 7.53重载决策. 149 753.1适用函数成员 149 7.532更好的函数成员 150 7.53.3表达式的更佳转换 151 7534类型的更佳转换 151 753.5更佳转换日标 7536泛型类中的重载 152 7.54动态重载决策的编译时检查 152 755函数成员调用 153 7.551已装箱实例上的调用 154 7.6基本表达式 7.6.1文本 155 7.62简单名称 155 7.62.1块中的固定含义 156 7.63带括号的表达式 157 7.6.4成员访问 157 7.6.4.1相同的简单名称和类型名称 垂··自···;··.···自··, 159 7.6.42语法多义性. 159 7.6.5调用表达式. 160 7.65.1方法调用 161 7.6.52扩展方法调用 162 7.6.5.3委托调用 版权所有 Microsoft Corporation19992012。保留所有权利 目录 7.6.6元素访问. …164 7.6.6.1数组访问 165 7.6.6.2索引器访问.165 7.6.7this访问 .166 7.6.8基访问 166 7.69后缀增量和后缀减量运算符 167 7.6.10new运算符. ……………………,………………………168 76.10.1对象创建表达式 168 7.6.10.2对象初始值设定项 ,170 7.6.10.3集合初始值设定项 171 ··垂 7.6.10.4数组创建表达式… 173 76.10.5委托创建表达式 175 7.6.10.6匿名对象创建表达式 176 7.6.1 I typeof运算符. 177 7.6.12 checked和 unchecked运算符 179 7.6.13默认值表达式 l81 7.6.14匿名方法表达式. 77一元运算符 182 7.7.1一元加运算符 182 77.2一元减运算符… …182 7.7.3逻辑否定运算符 183 7.7.4按位求补运算符 l83 7.7.5前缀增量和减量运算符 7.7.6强制转换表达式. ·····.···.·············· 垂· 184 777Awai表达式 ··.···;·····;··· ······4·4·+··········· ·······;··.··········· 185 7.7.7.1可等待的表达式 p,,4···卡··垂 185 7.77.2awai表达式的分类 186 77.7.3 await表达式的运行时计算 186 7.8算术运算符 ..…………186 7.8.1乘法运算符 187 7.82除法运算符 187 7.8.3余数运算符 188 7.8.4加法运算符. ∴189 7.8.5减法运算符 ,191 7.9移位运算符. 193 7.10关系和类型测试运算符… 194 7.10.1整数比较运算符 195 7.10,2浮点比较运算符. 195 7.10.3小数比较运算符.… 196 7.104布尔相等运算符 ………………………196 7.10.5枚举比较运算符 196 7.10.6引用类型相等运算符 197 7.10.7字符串相等运算符 198 7.10.8委托相等运算符 …199 7.109相等运算符和null. ;· ………199 版权所有 Microsoft Corporation1999-2012。保留所有权利 C# LANGUAGE SPECIFICATION 7.10.10is运算符. 199 7.10.11as运算符 .200 7.1l逻辑运算符.…. ……………201 7.111整数逻辑运算符.…. 7.112枚举逻辑运算符 201 7.113布尔逻辑运算符. ,· 202 7.11.4可以为nul的布尔逻辑运算符 202 7.12条件逻辑运算符.…. 202 7.12.1布尔条件逻辑运算符 203 7.12,2用户定义的条件逻辑运算符 203 · 7.13空合并运算符. 204 7.14条件运算符 204 7.15匿名函数表达式 205 7.15.1匿名函数签名 207 7.152匿名函数体 …207 7.15.3重载决策…. 208 7.154匿名函数与动态绑定 208 7.155外层变量 20 7.155.1捕获的外层变量 ,, 209 7.15.52局部变量实例化 209 7.15.6匿名函数表达式计算 211 7.16查询表达式 ········;·;··:..··;···· ∴212 716.1查询表达式的多义性 213 7.162查询表达式转换… ·垂 213 7.162.1带继续符的 sclect和 groupby子句 213 7.16.,2.2显式范围变量类型 4垂,···垂 ·;············· …………………2141 7.162.3退化查询表达式 215 7.16,24from、let、 where、join和 orderby子句 215 7.16.2.5 select子句 218 7.162.6 Groupby子句 219 7.16.2.7透明标识符 219 7.16.3查询表达式模式 20 7.17赋值运算符 221 7.17.1简单赋值. 222 7.172复合赋值 4 7.17.3事件赋值. 7.18表达式 …·…… .225 7.19常量表达式 225 7.20布尔表达式 227 8.语句 229 81结束点和可到达性 229 82块231 8.2.1语句列表. …231 8.3空语句 ·着t·· 232 版权所有 Microsoft Corporation1992012,保所有权利

...展开详情
试读 127P C#语言规范5.0
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
C#语言规范5.0 24积分/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页

试读结束, 可继续阅读

24积分/C币 立即下载 >