下载 > 资源分类 >  开发技术 >  C# > C# 语言规范

C# 语言规范

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

评论共有1条

name
zanfeng2014-10-29 11:22:21
还可以。是有真资料。

评论资源

您不能发表评论,可能是以下原因:

登录后才能评论

待评论资源
 

热门专辑

开发技术热门标签

VIP会员动态

关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
确认下载
img

C# 语言规范

会员到期时间: 剩余下载个数: 剩余C币:593 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
C币充值 开通VIP
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可奖励20下载分

  • 举报人:
  • 被举报人:
  • 举报的资源分:
  • *类型:
  • *详细原因: