C# 与 .NET Framework 对应关系

C# 1.0 .NET Framework 1.0 2002-02-13
委托、事件


C# 1.1 .NET Framework 1.1 2003-04-24
​ APM(异步编程模型)


C# 2.0 .NET Framework 2.0 2005-11-07 VisualStudio 2005

  1. 泛型
  2. 分部类型
  3. 匿名方法
  4. 可以为 null 的值类型
  5. 迭代器
  6. 协变和逆变
    泛型List<T>、匿名方法、迭代器yield、可空类型nullable

C# 3.0 .NET Framework 3.0 2007-11-06
.NET Framework 3.5 2007-11-19 VisualStudio 2008

  1. 自动实现的属性
    get;set;
  2. 匿名类型
    new { Amount = 108, Message = "Hello" };
  3. 查询表达式
    查询表达式 from a in b..
  4. Lambda 表达式
    Lambda表达式=>
  5. 表达式树
    linq
  6. 扩展方法
  7. 隐式类型本地变量
    var
  8. 分部方法
    分部类和方法 partial class, partial method
  9. 对象和集合初始值设定项
    Cat cat = new Cat { Age = 10, Name = "Fluffy" };

C# 4.0 .NET Framework 4.0 2010-04-12 VisualStudio 2010

  1. 动态绑定
  2. 命名参数/可选参数
    如果不记得形参的顺序,但却知道其名称,则可以按任意顺序发送实参。
  3. 泛型协变和逆变
  4. 嵌入的互操作类型

C# 5.0 .NET Framework 4.5 2012-08-15 VisualStudio 2012

  1. 异步成员
    异步和等待(async和await) task
  2. 调用方信息特性
    (Caller Information) 可以获取有关方法调用方的信息。可以获取源代码的文件路径、源代码中的行号和调用方的成员名称。

C# 6.0 .NET Framework 4.6 2015-07-20 VisualStudio 2015

  1. C# 6 中的新增功能
  2. 静态导入
    旧代码 Math.PI * Math.Pow(Radius, 2);
    类中导入using static System.Math;后可简化为
    PI \* Pow(Radius, 2);
  3. Expression bodied 成员
    =>运算符
  4. 自动属性初始化表达式
    public string FirstName { get; set; } = string.Empty;
  5. 异常筛选器
    异常及When筛选器 上下关键字
    catch (HttpRequestException e) when (e.Message.Contains("301")) switch (obj) { case Shape shape when shape.Area == 0
  6. Null 传播器
    A?.B?[C];
    末尾运算符
    int[] xs = new[] { 0, 10, 20, 30, 40 }; int last = xs[\^1]; **\$**
  7. 字符串内插
    Console.WriteLine(\$"Hello, {name}! Today is {date.DayOfWeek}, it's {date:HH:mm} now.");
  8. nameof 运算符

C# 7.0 .NET Framework 4.6.2 2016-08-02 VisualStudio 2017
C# 7.0 中的新增功能

  1. Out 变量
    现在可以在方法调用的参数列表中声明 out 变量,而不是编写单独的声明语句:
    int.TryParse(input, out int result) 不用声明result
  2. 元组和析构函数
  3. 模式匹配
  4. 本地函数
  5. 已扩展 expression bodied 成员
  6. Ref 局部变量和返回结果
  7. 弃元
  8. 二进制文本和数字分隔符
  9. 引发表达式

C# 7.1 .NET Framework 4.7 2017-04-05 VisualStudio 2017 15.3

  1. async Main 方法
    应用程序的入口点可以含有 async 修饰符。
  2. default 文本表达式
    在可以推断目标类型的情况下,可在默认值表达式中使用默认文本表达式。
  3. 推断元组元素名称
    在许多情况下,可通过元组初始化来推断元组元素的名称。
  4. 泛型类型参数的模式匹配
    可以对类型为泛型类型参数的变量使用模式匹配表达式。

C# 7.2 .NET Framework 4.7.1 2017-10-17 VisualStudio 2017 15.5

  1. 编写安全高效代码的技巧
    结合了多项语法改进,可使用引用语义处理值类型。
  2. 非尾随命名参数
    命名的参数可后接位置参数。
  3. 数值文字中的前导下划线
    数值文字现可在任何打印数字前放置前导下划线。
  4. private protected 访问修饰符
    private protected 访问修饰符允许访问同一程序集中的派生类。
  5. 条件 ref 表达式 现在可以引用条件表达式 (?😃 的结果。

C# 7.3 .NET Framework 4.7.2 2018-04-30 VisualStudio 2017 15.7

  1. 无需固定即可访问固定的字段。
  2. 可以重新分配 ref 本地变量。
  3. 可以使用 stackalloc 数组上的初始值设定项。
  4. 可以对支持模式的任何类型使用 fixed 语句。
  5. 可以使用其他泛型约束。

C# 8.0 .NET Framework 4.8 2019-04-18
C# 8.0 版是专门面向 .NET C# Core 的第一个主要 C# 版本。 一些功能依赖于新的 CLR 功能,而其他功能依赖于仅在 .NET Core 中添加的库类型。 C# 8.0 向 C# 语言添加了以下功能和增强功能:
C# 8.0 中的新增功能


C# 9.0 .NET 5 2020-09-04
C# 9.0 中的新增功能


.NET Core


.NET Core 1.0 2016-06-27
.NET Core 2.0 2016-08-14 .NET Core 2.0 的新增功能
.NET Core 2.1 2018-05-30 .NET Core 2.1 的新增功能
.NET Core 2.2 2018-12-04 .NET Core 2.2 的新增功能
.NET Core 3.0 2019-09-23 .NET Core 3.0 的新增功能
.NET Core 3.1 2019-12-03 .NET Core 3.1 的新增功能
.NET 5 2020-10-13 What's new in .NET 5

下表中列出 C#、.NET、VS版本对应关系

C#版本

发布时间

.NET 版本

VS版本

CLR版本

C#1.0

2002-02-13

.NET Framework 1.0

VS.NET 2002

1.0

C#1.1
C#1.2

2003-04-24

.NET Framework 1.1

VS.NET 2003

1.1

C#2.0
C#3.0(除Linq)

2005-11-07

.NET Framework 2.0

VS2005

2.0

C#3.0(除Linq)

2006-11

.NET Framework 3.0

VS2008

2.0

C#3.0

2007-11-19

.NET Framework 3.5

VS2008

2.0

C#4.0

2010-4-12

.NET Framework 4.0

VS2010

4

C#5.0

2012-02-20

.NET Framework 4.5

VS2012

4

C#5.0

2013-10-17

.NET Framework 4.5.1

VS2013

4

C#5.0

2014-05-05

.NET Framework 4.5.2

VS2013

4

C#6.0

2015-07-26

.NET Framework 4.6

VS2015(v14)

4

C#6.0

2015-11-30

.NET Framework 4.6.1

VS2015(v14)

4

C#7.0

2016-08-02

.NET Framework 4.6.2

VS2017(v15)

4

C#7.1

2017-04-05

.NET Framework 4.7

VS2017(v15.3)

4

C#7.2

2017-10-17

.NET Framework 4.7.1

VS2017(v15.5)

4

C#7.3

2018-04-30

.NET Framework 4.7.2

VS2017(v15.7)

4

C#8.0

2019-04-18

.NET Framework 4.8

VS2019(v16)

4

官方版本历史:
https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-version-history

转自:https://www.cnblogs.com/greezfyc/p/14637671.html

参考:https://www.cnblogs.com/Leo_wl/p/11449292.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值