2016年英文版的,应该是兼容VS2017,
C# (pronounced "See Sharp") is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages and will be immediately familiar to C, C++, and Java programmers. C# is standardized by ECMA International as the ECMA-334 standard and by ISO/IEC as the ISO/IEC 23270 standard. Microsoft's C# compiler for the .NET Framework is a conforming implementation of both of these standards.
《C# 语言规范6.0》是C#编程语言的一个关键参考资料,它定义了C# 6.0版本的核心语法、语义以及编程模型。C#,发音为"See Sharp",是一种简洁、现代、面向对象且类型安全的编程语言。自2000年代初发布以来,C#已经成为.NET开发平台上的主要编程工具,尤其在Visual Studio 2017及其后续版本中得到了广泛支持。
C#的设计灵感来源于C、C++和Java等语言,因此对于熟悉这些语言的开发者来说,C#的学习曲线相对平缓。它的设计目标是提供一种既高效又易于使用的编程环境,同时引入了许多现代化的编程特性,如自动垃圾回收、泛型、匿名方法、LINQ等。
C#的标准化工作由ECMA International以ECMA-334标准进行,同时由ISO/IEC作为ISO/IEC 23270标准进行国际标准化。这意味着C#具有明确的规范,任何实现C#的编译器,包括微软的.NET Framework编译器,都必须遵循这些标准,确保代码的可移植性和互操作性。
在C# 6.0版本中,引入了一些重要的新特性,例如:
1. **Null条件运算符(?.)**:允许开发者更安全地访问可能为null的对象成员,避免空引用异常。
2. **字符串插值**:通过`$`符号简化字符串格式化,使得在字符串中插入变量变得更加直观。
3. **异步方法的await关键字**:改进了异步编程的语法,使得编写非阻塞I/O操作的代码更加清晰。
4. **表达式-bodied成员**:函数和属性可以用单行表达式来定义,提高了代码的简洁性。
5. **索引初始器**:在创建数组或集合时可以提供简化的初始化语法。
6. **使用声明**:简化了临时变量的生命周期管理,特别是在异步方法中。
这些特性都是为了提高开发者的生产力,同时保持语言的简洁性和一致性。在实践中,理解并掌握C#语言规范6.0中的各项规定,将有助于开发者写出高效、可靠且易于维护的代码。
《C# 语言规范6.0》不仅包含语言的语法细节,还包括类型系统、类和结构、接口、枚举、委托、事件、属性、索引器、运算符、控制流、异常处理、程序集和命名空间、泛型、类型推断、异步编程等多个方面的详细描述。它是学习和理解C#语言的基石,对于开发者来说,深入阅读和理解这份文档对于提升编程技能至关重要。同时,微软鼓励开发者向csharp@microsoft.com提供反馈,以便不断优化和完善这一规范。