淡若轻风

博客园 首页 新随笔 联系 订阅 管理
  52 随笔 :: 0 文章 :: 0 评论 :: 6360 阅读

截至 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)**等多个领域占据重要地位。

 

posted on   淡若轻风  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示