0x00 分类

C#语言规范主要有两个来源,即我们熟知的ECMA规范和微软的规范。尽管C#的ECMA规范已经前后修订4次,但其内容仅仅到C# 2.0为止。所以慕容为了方便自己和各位方便查询,在此将常见的C#规范总结一下。

0x01 微软标准

这里提供的内容,都来自于微软官网。

  • C# 5.0 (2012年,Word文档)
  • C# 4.0
  • C# 3.0(2007年,Word文档)
  • C# 2.0(2005年,Word文档)
  • C# 1.2 (2003年,Word文档)
  • C# 1.0 (2002年,Word文档)

当然,除了从网上下载,如果我们安装了VS,我们同样可以在安装目录下找到C#的语言规范。

0x02 ECMA标准

如同前文所言,C#语言的ECMA标准也就是ECMA-334,已经修订到了第四版。不过最新的第四版仍然可以回溯到2006年了。所以其内容,主要到C# 2.0为止。那么下面就是ECMA-334的这四个版本:

0x03 注释出版物

上文说过,除了有C#语言标准之外,还有一些出版图书将注释与标准结合。而且,无论是微软标准还是ECMA标准,都出版过加入了来自设计团队成员以及委员会成员评论和注释的C#语言标准图书。而且其中也有被翻译为中文的,例如下面这几本。

C# Programming Language (Covering C# 4.0), The (4th Edition)

本书全部内容更新到C# 4.0版,提供了C# 4.0语言的完整规范、参考资料、范例代码和来自12位卓越的C#大师的详细注解。这些注解所达到的深度和广度在其他书中难得一见。C# 4.0新添加动态绑定、命名和可选参数以及协变和逆变泛型等特性,恰到好处的注解解释了这些特性的重要性、使用方法、与其他语言的关系等。其实本质就是C# 4.0的注释版。当然了,还有C# 3.0的注释版,这里就不再赘述了。

下面我们来看看ECMA标准的注释版吧。

Annotated C# Standard

这本书则是ECMA(C# 2.0)标准的注释版。不过目前我只找到了英文版,当然网上也有PDF流传。如果各位有机会可以看看,相信能获益不少。

c#语言规范的更多相关文章

  1. JAVA语言规范-线程和锁章节之同步、等待和通知

    JAVA语言规范:线程和锁 1 同步 java编程语言提供了线程间通信的多种机制.这些方法中最基本的是同步化,此方法是使用监视器实现的.JAVA中每个对象与一个监视器相关联,一个线程可以加锁和解锁监视 ...

  2. java 语言规范 java language specifications

    在线地址: https://docs.oracle.com/javase/specs/ java语言规范下载: 链接:http://pan.baidu.com/s/1miEpJwk 密码:f89v j ...

  3. Python语言规范及风格规范

    语言规范: http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_ ...

  4. Protocol Buffer技术详解(语言规范)

    Protocol Buffer技术详解(语言规范) 该系列Blog的内容主体主要源自于Protocol Buffer的官方文档,而代码示例则抽取于当前正在开发的一个公司内部项目的Demo.这样做的目的 ...

  5. PHP的语言规范

    PHP的语言规范: 1.php中的变量名区分大小写,但是函数名,类名,方法名,不区分大小写,但建议区分大小写 2.php代码必须书写在<?php?>(php标签),开启标记(<?ph ...

  6. JAVA语言规范和API网址

    Java语言规范: http://docs.oracle.com/javase/specs/ Java API: http://docs.oracle.com/javase/8/docs/api/in ...

  7. C# 语言规范_版本5.0 (第0章 目录)

    C# 语言规范 版本5.0 注意 © 1999-2012 Microsoft Corporation.保留所有权利. Microsoft.Windows.Visual Basic.Visual C# ...

  8. google的python语言规范

    Python语言规范   Lint Tip 对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具. 对于C和C++这样的不那么动态的(译者注: 原文是less ...

  9. java语言规范,main方法必须声明为public

    注释: 根据java语言规范,main方法必须声明为public. 当main方法不是public时,有些版本的java解释器也可以执行java应用程序.有个程序员报告了这个bug. 如果感兴趣可以查 ...

随机推荐

  1. 《Web 前端面试指南》1、JavaScript 闭包深入浅出

    闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...

  2. Xamarin+Prism开发详解六:DependencyService与IPlatformInitializer的关系

    祝各位2017年事业辉煌!开年第一篇博客,继续探索Xamarin.Forms… 为什么我做Xamarin开发的时候中意于Prism.Forms框架?本章为你揭晓. 实例代码地址:https://git ...

  3. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

  4. node-sass 安装失败的解决措施

    在测试gulp-webapp的时候遇到了styles不能被正常编译的问题,究其原因是node-sass没有被正常安装. 根本原因是国内网络的原因. 最终的解决方法是通过淘宝的npm镜像安装node-s ...

  5. jQuery学习之路(2)-DOM操作

    ▓▓▓▓▓▓ 大致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发人员能方便的操作DOM对象. ▓▓▓▓▓▓ jQuery中的DOM操作 看 ...

  6. 解决Android Studio 无法显示Layout视图问题

    在Android Studio 当中,如果你选择的SDK的版本 与你所显示的视图版本不一致时,会出现这个错误 Exception raised during rendering:com/android ...

  7. "NHibernate.Exceptions.GenericADOException: could not load an entity" 解决方案

     今天,测试一个项目的时候,抛出了这个莫名其妙的异常,然后就开始了一天的调试之旅... 花了很长时间,没有从代码找出任何问题... 那么到底哪里出问题呢? 根据下面那段长长的错误日志: -- ::, ...

  8. 从源码浅析MVC的MvcRouteHandler、MvcHandler和MvcHttpHandler

    熟悉WebForm开发的朋友一定都知道,Page类必须实现一个接口,就是IHttpHandler.HttpHandler是一个HTTP请求的真正处理中心,在HttpHandler容器中,ASP.NET ...

  9. MVC还是MVVM?或许VMVC更适合WinForm客户端

    最近开始重构一个稍嫌古老的C/S项目,原先采用的技术栈是『WinForm』+『WCF』+『EF』.相对于现在铺天盖地的B/S架构来说,看上去似乎和Win95一样古老,很多新入行的,可能就没有见过经典的 ...

  10. DDD领域驱动设计 - 设计文档模板

    设计文档模板: 系统背景和定位 业务需求描述 系统用例图 关键业务流程图 领域语言整理,主要是整理领域中的各种术语的定义,名词解释 领域划分(分析出子域.核心域.支撑域) 每个子域的领域模型设计(实体 ...