C#更新历史完整版本

Mr.石 / 2024-09-13 / 原文

C#2.0
  • 泛型

  • 部分类型

  • 匿名方法

  • 迭代器

  • 可空类型

  • Getter / setter单独可访问性

  • 方法组转换(代表)

  • Co- and Contra-variance for delegates

  • 静态类

  • Delegate inference

C#3.0
  • 隐式类型局部变量

  • 对象和收集初始化器

  • 自动实现的属性

  • 匿名类型

  • 扩展方法

  • 查询表达式

  • Lambda表达式

  • 表达树

  • 部分方法

C#4.0
  • 动态绑定

  • 命名和可选参数

  • Generic co- and contravariance

  • 嵌入式互操作类型(“NoPIA”)

C#5.0
  • 异步方法

  • Caller info attributes

C#6.0
  • Compiler-as-a-service(Roslyn)

  • 将静态类型成员导入命名空间

  • 异常过滤器

  • 在Catch和Finally中使用Await

  • 自动属性初始化器

  • 只读属性的默认值

  • Expression-bodied members

  • Null-conditional operators(空条件运算符,简洁检查)

  • 字符串插值

  • nameof operator

  • 字典初始化器

C#7.0
  • out变量

  • 模式匹配

  • 元组

  • 解构

  • 局部函数

  • 数字分隔符

  • 二进制文字

  • 局部引用和引用返回

  • 扩展异步返回类型

  • 表达式的构造函数和finalizers

  • Expression bodied getters and setters

  • throw表达式

  • C# 8.0 添加和增强的功能

     

    .NET Core 3.x.NET Standard 2.1支持C# 8.0

    C# 9.0 添加和增强的功能

     
    阅读目录

        一、记录(record)
            with 表达式
        二、仅限 Init 的资源库
        三、顶级语句
        四、模式匹配增强功能
        五、模块初始值设定(ModuleInitializer)
        六、可以为 null 的引用类型规范
        七、目标类型的 new 表达式
        八、扩展分部方法
        九、静态匿名函数
        十、目标类型(Target-Typed)的条件表达式
        十一、协变返回类型(Covariant returns type)
        十二、迭代器扩展(扩展 GetEnumerator 方法来支持 foreach 循环)
        十三、lambda 弃元参数
        十四、本地函数的属性(Attributes on local functions)
        十五、本机大小的整数
        十六、函数指针(Function pointers)
            托管函数的函数指针
        十七、跳过临时变量初始化(Skip locals initialization)

c#2.0-5.0参考文档

c#5.0参考文档

连接地址:https://blogs.msdn.microsoft.com/mvpawardprogram/2012/03/26/an-introduction-to-new-features-in-c-5-0/

c#4.0参考文档

连接地址:https://msdn.microsoft.com/en-us/magazine/ff796223.aspx

c#3.0参考文档

连接地址:https://msdn.microsoft.com/en-us/library/bb308966.aspx

c#2.0参考文档

连接地址:https://msdn.microsoft.com/en-us/library/7cz8t42e(v=vs.80).aspx