C#语言特性及发展史

本文按照C#语言的发展历史,介绍C#每个版本的新增特性,主要参考微软官方文档。了解这些语言特性可以帮助我们更高效的编写C#代码。

C# 1.0

与Visual Studio .NET 2002一起发布,该版本的C#非常像Java。

C# 1.2

随Visual Studio .NET 2003一起发布,主要是一些小改进。值得注意的是,从此版本开始,当IEnumerator实现IDisposable时,foreach循环中生成的代码会在IEnumerator上调用Dispose。

C# 2.0

与Visual Studio 2005一起发布。自2.0开始,C#打好了基础,开始追求解决一些严重影响开发者的难点。

  • 泛型:使用泛型优于创建派生自ArrayList的ListInt或强制转换方式
  • partial class
  • 匿名方法:delegate运算符创建一个可以转换为委托类型的匿名方法。从C# 3.0开始,可使用lambda表达式创建匿名方法。
  • 可空类型:可空类型T?表示其基础类型T的所有值及额外的null值。
  • 迭代器:允许使用foreach来检查List(或其它可枚举类型)中的所有项
  • 协变和逆变:实现数组类型、委托类型和泛型类型参数的隐式引用转换

C# 3.0

与Visual Studio 2008一起发布,但完整功能是在.NET Framework 3.5版本中发布的。此版本标志着C#发展过程中的重大更改。

C# 4.0

随Visual Studio 2010一起发布。

C# 5.0

随Visual Studio 2012一起发布,主要工作是适用于异步编程的async和await模型。

C# 6.0

随Visual Studio 2015一起发布。

C# 7.0

与Visual Studio 2017一起发布。

C# 7.1 7.2 7.3

此版本开始C#可以单点发行,编译器有-refout-refonly两个选项,可用于控制引用程序集生成。

C# 8.0

专门面向.NET Core的第一个主要C#版本。

C# 9.0

.NET 5.0支持C# 9.0

你可能感兴趣的:(C#语言特性及发展史)