C# 一共发布过哪些版本
截至 2024 年,C# 已经发布了多个主要版本,每个版本都引入了新的特性和改进,
以提升开发效率、性能和语言的表达能力。以下是 C# 版本的完整发布历史:
C# 版本历史
版本发布年份主要特性依赖的 .NET 版本
C# 1.0
2002
基础语法、类、结构、接口、属性、委托等
.NET Framework 1.0 / 1.1
C# 2.0
2005
泛型、匿名方法、可空类型、迭代器、部分类
.NET Framework 2.0
C# 3.0
2007
LINQ、Lambda 表达式、匿名类型、扩展方法、自动属性
.NET Framework 3.5
C# 4.0
2010
动态类型、可选参数、命名参数、协变/逆变
.NET Framework 4.0
C# 5.0
2012
async/await 异步编程、调用方信息属性
.NET Framework 4.5
C# 6.0
2015
表达式主体成员、字符串插值、Null 条件运算符
.NET Framework 4.6
C# 7.0
2017
元组、模式匹配、局部函数、ref 返回
.NET Core 2.0 / .NET Framework 4.6.2
C# 7.1
2017
默认字面量 default、异步 Main 方法
.NET Core 2.0
C# 7.2
2017
in 参数、readonly struct
.NET Core 2.0
C# 7.3
2018
增强泛型约束、ref 局部变量
.NET Core 2.1
C# 8.0
2019
可空引用类型、异步流、范围和索引
.NET Core 3.0 / .NET Framework 4.8
C# 9.0
2020
记录类型(record)、顶级语句、init 访问器
.NET 5
C# 10.0
2021
全局 using 指令、文件作用域命名空间、结构改进
.NET 6
C# 11.0
2022
原始字符串插值、required 成员、通用数学
.NET 7
C# 12.0
2023
primary constructor、默认 lambda 参数值
.NET 8
C# 各版本详细介绍
1. C# 1.0(2002,.NET Framework 1.0/1.1)
面向对象编程基础:类、接口、结构、继承等。
委托(Delegates)、事件(Events)。
异常处理(try-catch-finally)。
foreach 语法。
反射(Reflection)。
2. C# 2.0(2005,.NET Framework 2.0)
泛型(Generics),提升类型安全和性能。
可空类型(Nullable Types),值类型可赋值 null。
匿名方法(Anonymous Methods),减少委托定义的冗余。
迭代器(Iterators),使用 yield 关键字。
部分类(Partial Classes),拆分类定义。
3. C# 3.0(2007,.NET Framework 3.5)
LINQ(Language Integrated Query),数据查询能力。
Lambda 表达式(Lambda Expressions),简化匿名方法。
扩展方法(Extension Methods),扩展现有类型。
匿名类型(Anonymous Types),无需显式声明类。
自动属性(Auto-Implemented Properties),简化属性声明。
var 关键字,类型推断。
4. C# 4.0(2010,.NET Framework 4.0)
dynamic 类型,与动态语言交互。
命名和可选参数,减少重载方法。
泛型的协变/逆变(Covariance & Contravariance)。
COM 互操作性改进。
5. C# 5.0(2012,.NET Framework 4.5)
async / await 异步编程,简化异步代码。
调用方信息(Caller Info Attributes),自动获取调用信息。
6. C# 6.0(2015,.NET Framework 4.6)
字符串插值(String Interpolation)。
Null 条件运算符(?.),简化空检查。
表达式主体成员(Expression-bodied Members),简化方法。
nameof 关键字,获取变量或属性名称。
7. C# 7.x 系列(2017,.NET Core 2.0+)
元组(Tuples),返回多个值。
模式匹配(Pattern Matching),改进 switch 语句。
局部函数(Local Functions)。
ref 返回和局部变量,改进性能。
8. C# 8.0(2019,.NET Core 3.0)
可空引用类型(Nullable Reference Types),提高空值安全性。
异步流(Async Streams),结合 IAsyncEnumerable
索引和范围(Index & Range),简化数组操作。
默认接口实现(Default Interface Methods)。
9. C# 9.0(2020,.NET 5)
记录类型(Records),用于不可变对象。
顶级语句(Top-level Statements),简化入门代码。
init 访问器,支持对象初始化。
模式匹配增强。
10. C# 10.0(2021,.NET 6)
文件作用域命名空间(File-scoped Namespaces)。
全局 using 指令(Global Using),减少重复。
结构改进(Struct Improvements)。
11. C# 11.0(2022,.NET 7)
原始字符串插值(Raw String Literals),多行文本更易处理。
required 关键字,强制要求属性初始化。
通用数学接口,简化数值操作。
12. C# 12.0(2023,.NET 8)
主构造函数(Primary Constructors),简化类初始化。
默认 lambda 参数值,简化委托。
未来发展(C# 13.0+)
C# 预计将在 .NET 9+ 中持续优化,重点关注性能、模式匹配、AI/ML 集成等领域。
C# 版本的不断迭代,使其成为功能强大、灵活且广泛应用的现代编程语言,在**桌面、Web、云计算、移动开发、游戏开发(Unity)**等多个领域占据重要地位。