截至 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<T>
。 - 索引和范围(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)**等多个领域占据重要地位。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix