c#历史版本

C# 1.0 版

主要功能包括:

  • 结构
  • 接口
  • 事件
  • 属性
  • 委托
  • 运算符和表达式
  • 语句
  • 特性

C# 版本 1.2

当 IEnumerator 实现 IDisposable 时,foreach 循环中生成的代码会在 IEnumerator 上调用 Dispose。


C# 2.0 版

  • 泛型
  • 分部类型
  • 匿名方法
  • 可以为 null 的值类型
  • 迭代器
  • 协变和逆变

C# 3.0 版

  • 自动实现的属性
  • 匿名类型
  • 查询表达式
  • Lambda 表达式
  • 表达式树
  • 扩展方法
  • 隐式类型本地变量
  • 分部方法
  • 对象和集合初始值设定项

C# 4.0 版

  • 动态绑定
  • 命名参数/可选参数
  • 泛型协变和逆变
  • 嵌入的互操作类型

C# 5.0 版

  • 异步成员
  • 调用方信息特性

C# 6.0 版

  • 静态导入
  • 异常筛选器
  • 自动属性初始化表达式
  • Expression bodied 成员
  • Null 传播器
  • 字符串内插
  • nameof 运算符

C# 7.0 版

  • out 变量
  • 元组和析构函数
  • 模式匹配
  • 本地函数
  • 已扩展 expression bodied 成员
  • ref 局部变量
  • 引用返回


c# 8

  • Readonly 成员
  • 默认接口方法
  • 模式匹配增强功能:
    • switch 表达式
    • 属性模式
    • 元组模式
    • 位置模式
  • Using 声明
  • 静态本地函数
  • 可处置的 ref 结构
  • 可为空引用类型
  • 异步流
  • 索引和范围
  • Null 合并赋值
  • 非托管构造类型
  • 嵌套表达式中的 Stackalloc
  • 内插逐字字符串的增强功能

c# 9

  • 记录
  • 仅限 Init 的资源库
  • 顶级语句
  • 模式匹配增强功能
  • 性能和互操作性
    • 本机大小的整数
    • 函数指针
    • 禁止发出 localsinit 标志
  • 调整和完成功能
    • 目标类型的 new 表达式
    • static 匿名函数
    • 目标类型的条件表达式
    • 协变返回类型
    • 扩展 GetEnumerator 支持 foreach 循环
    • Lambda 弃元参数
    • 本地函数的属性
  • 支持代码生成器
    • 模块初始值设定项
    • 分部方法的新功能

C# 10 版

  • 记录结构
  • 结构类型的改进
  • 内插字符串处理程序
  • global using 指令
  • 文件范围的命名空间声明
  • 扩展属性模式
  • 对 Lambda 表达式的改进
  • 可使用 const 内插字符串
  • 记录类型可密封 ToString()
  • 改进型明确赋值
  • 在同一析构中可同时进行赋值和声明
  • 可在方法上使用 AsyncMethodBuilder 属性
  • CallerArgumentExpression 属性
  • 增强的 #line pragma

C# 版本 11

  • 原始字符串字面量
  • 泛型数学支持
  • 泛型属性
  • UTF-8 字符串字面量
  • 字符串内插表达式中的换行符
  • 列表模式
  • 文件本地类型
  • 必需的成员
  • 自动默认结构
  • 常量 string 上的模式匹配 Span
  • 扩展的 nameof 范围
  • 数值 IntPtr
  • ref 字段和 scoped ref
  • 改进了方法组向委托的转换

猜你喜欢

转载自blog.csdn.net/a_codecat/article/details/128434021