C#版本与.NET版本对应关系以及各版本的特性
C#版本 | .NET版本 | 发布日期 | 特性 |
---|---|---|---|
C# 1.0 | .NET Framework 1.0 | 2002-02-13 | 委托、事件 |
C# 1.1 | .NET Framework 1.1 | 2003-04-24 | APM(异步编程模型) |
C# 2.0 | .NET Framework 2.0 | 2005-11-07 | 泛型、匿名方法、迭代器、可空类型 |
C# 3.0 | .NET Framework 3.0 | 2007-11-06 | 隐式类型 |
.NET Framework 3.5 | 2007-11-19 | 对象集合初始化、自动实现属性、匿名类型、扩展方法、查询表达式、Lambda表达式、 表达式树、分部类和方法、Linq | |
C# 4.0 | .NET Framework 4.0 | 2010-04-12 | 动态绑定、命名和可选参数、泛型的协变和逆变、互操作性 |
C# 5.0 | .NET Framework 4.5 | 2012-08-15 | 异步和等待(async和await)、调用方信息(Caller Information) |
C# 6.0 | .NET Framework 4.6 | 2015-07-20 | 静态导入、C# 6 中的新增功能 |
.NET Core 1.0 | 2016-06-27 | ||
C# 7.0 | .NET Framework 4.6.2 | 2016-08-02 | 元组、C# 7.0 中的新增功能 |
C# 7.1 | .NET Framework 4.7 | 2017-04-05 | |
.NET Core 2.0 | 2016-08-14 | .NET Core 2.0 的新增功能 | |
C# 7.2 | .NET Framework 4.7.1 | 2017-10-17 | |
C# 7.3 | .NET Framework 4.7.2 | 2018-04-30 | |
.NET Core 2.1 | 2018-05-30 | .NET Core 2.1 的新增功能 | |
.NET Core 2.2 | 2018-12-04 | .NET Core 2.2 的新增功能 | |
C# 8.0 | .NET Framework 4.8 | 2019-04-18 | C# 8.0 中的新增功能 |
.NET Core 3.0 | 2019-09-23 | .NET Core 3.0 的新增功能 | |
.NET Core 3.1 | 2019-12-03 | .NET Core 3.1 的新增功能 | |
C# 9.0 | .NET 5 | 2020-09-04 | C# 9.0 中的新增功能 |
.NET 5 | 2020-10-13 | What's new in .NET 5 | |
C# 10.0 | .NET 6 | 2021-11-09 | 欢迎使用 C# 10 C# 10.0 中的新增功能 |
C# 11.0 | .NET 7 | 2022-11-08 | C# 11 中的新增功能 |
C# 12.0 | .NET 8 | 2023-06-14 | C# 12 中的新增功能 |
修改语言版本
在C#中,语言的新版本通常通过编译器的更新来提供。C# 8.0引入了许多新特性,如可空引用类型、异步流、范围索引等。要使用C# 8.0的特性,你需要确保你的开发环境中安装了支持C# 8.0的Visual Studio或者.NET Core SDK。
对于Visual Studio,你需要安装Visual Studio 2019,它默认支持C# 8.0的特性。对于.NET Core,你需要安装.NET Core 3.0或更高版本。
如果你已经在使用Visual Studio 2019或更高版本,或者安装了.NET Core 3.0或更高版本的SDK,那么你不需要进行任何操作来使用C# 8.0的特性。你可以在你的项目文件(.csproj)中指定语言版本,在如下所示:
xml
<PropertyGroup>
<LangVersion>8.0</LangVersion>
</PropertyGroup>