c#版本、.net版本、visual studio版本之间的对应关系

时间:2025-01-21 07:54:59

最近这几年一直没用过c#开发,都是从事Qt c++开发工作,回想一下之前c#还要追溯到2019年,算算时间大概都已过去4,5年了,时间飞快。

2019真是个神奇的数字,vs2019是我用的时间最长的一个IDE,新冠起始于2019/12,而微软的.net core 3.0也是发布于2019年,微软终于开始拥抱开源、拥抱跨平台。仿佛2019之前是一个世界,2019之后是另一个世界。。

最近工作之余想体验下.net 6/7/8,重温.net的丝滑和优雅。收集整理了c#版本变更记录之。

C#、.NET版本、Visual Studio版本对应关系

c#版本 发布年份 对应.NET版本 Visual Studio版本 主要特性
C# 1.0 2000 .NET Framework 1.0 - 类、对象、基本数据类型。
C# 2.0 2001 .NET Framework 2.0 Visual Studio 2005 泛型、可空类型、迭代器。
C# 3.0 2007 .NET Framework 3.5 Visual Studio 2008 LINQ(语言集成查询)、自动属性、扩展方法。
C# 4.0 2010 .NET Framework 4.0 Visual Studio 2010 动态类型、命名参数、可选参数。
C# 5.0 2012 .NET Framework 4.5 Visual Studio 2012 异步编程(async/await)。
C# 6.0 2015 .NET Framework 4.6 Visual Studio 2015 字符串插值、默认值属性、静态 usings。
C# 7.0 2017 .NET Framework 4.6.2+ Visual Studio 2017 模式匹配、元组、局部函数。
C# 8.0 2019 .NET Core 3.0+
.NET Framework 4.8
Visual Studio 2019 可空引用类型、异步流、switch表达式。
C# 9.0 2020 .NET 5.0 Visual Studio 2019 记录类型、init访问器、功能增强。
C# 10.0 2021 .NET 6.0 Visual Studio 2022 文件范围的命名空间、全局 usings、记录结构。
C# 11.0 2022 .NET 7.0 Visual Studio 2022 原生字面量、泛型参数修饰符。
C# 12.0 2023 .NET 8.0 Visual Studio 2022 主构造函数‌、‌集合表达式‌、‌ref readonly 参数‌、‌Lambda 表达式默认参数‌、‌内联数组‌、‌实验性质的拦截器‌等
C# 13.0 2024 .NET 9.0 Visual Studio 2022 半自动属性、扩展类型、参数修饰符的扩展、LINQ优化、性能改进等

.NET Framework与.NET Core的区别

  • .NET Framework:主要用于Windows应用程序开发,功能强大但不支持跨平台。
  • .NET Core:为跨平台设计,性能更优,支持现代应用开发。
  • .NET 5.0及后续版本统一了.NET生态。

Visual Studio的经典版本

  • Visual Studio 2005 - 引入了许多C# 2.0特性。
  • Visual Studio 2010 - 支持C# 4.0的新特性。
  • Visual Studio 2019 - 提供了对C# 8.0的全面支持。