最近这几年一直没用过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的全面支持。