【转】C#各版本新增加功能
本系列文章主要整理并介绍 C# 各版本的新增功能。
C# 8.0
C#8.0 于 2019年4月 随 .NET Framework 4.8 与 Visual Studio 2019 一同发布,但是当前处于预览状态。预计在2019年9月正式发布。
目前提供以下功能可供试用:
- Readonly 成员
- 默认接口成员【*重要,突破性的变革*】请参考:C#8.0 中使用默认接口成员更新接口
- 模式匹配增强功能:Using 声明
- Switch 表达式
- 属性模式
- 元组模式
- 位置模式
- 静态本地函数
- 可处置的 ref 结构
- 可为空引用类型
- 异步流【*重要*】
- 索引和范围
具体新增功能请查看 C#8.0 新增功能
C# 7.3
C#7.3 随 VS2017 v15.7 发布(2018年5月)。 自 Visual Studio 2017 版本 15.7 和 .NET Core 2.1 SDK 起,开始随附 C# 7.3。
具体新增功能请查看 C#7.3 新增功能
C# 7.2
C#7.2 随 VS2017 v15.5 发布(2017年11月)。自 Visual Studio 2017 版本 15.5 和 .NET Core 2.0 SDK 起,开始随附 C# 7.2。
具体新增功能请查看 C#7.2 新增功能
C# 7.1
C#7.1 随 VS2017 v15.3 发布(2017年8月)。 自 Visual Studio 2017 版本 15.3 和 .NET Core 2.0 SDK 起,开始随附 C# 7.1。
具体新增功能请查看 C#7.1 新增功能
C# 7.0
C# 7.0 向 C# 语言添加了许多新功能:具体请查看 C#7.0 新增功能
C# 6.0
具体功能请查看 C#6.0 新增功能
除了发布此版本,他们还做了另一件事,虽然这件事本身与传统的语言功能无关。 他们发布了 Roslyn 编译器即服务。 C# 编译器现在是用 C# 编写的,你可以使用编译器作为编程工作的一部分。
C# 5.0
async
和 await
模型。C# 4.0
C# 3.0
C# 3.0 版和 Visual Studio 2008 一起发布于 2007 年下半年,但完整的语言功能是在 .NET Framework 3.5 版中发布的。 此版本标示着 C# 发展过程中的重大更改。 C# 成为了真正强大的编程语言。
下面列出的功能中大多数似乎都是不可或缺,难以分割的。 它们的组合都是经过巧妙布局。 我们通常认为 C# 版本的杀手锏是查询表达式,也就是语言集成查询 (LINQ)。LINQ 的构造可以建立在更细微的视图检查表达式树、Lambda 表达式以及匿名类型的基础上。 不过无论如何 C# 3.0 都提出了革命性的概念。 C# 3.0 开始为 C# 转变为面向对象/函数式混合语言打下基础。
C# 2.0
微软于2005年11月发布了.NET Framework 2.0,同时发布了Visual Studio 2005,同步对应的C#升级到了2.0版本。
除现有功能以外的其他 C# 2.0 功能:
- 方法组转换(委托)
- 静态类
- 委托推断
C# 1.2
随 Visual Studio 2003 一起提供的 C# 版本 1.2。 它对语言做了一些小改进。 最值得注意的是,从此版本开始,当 IEnumerator 实现 IDisposable 时,foreach
循环中生成的代码会在 IEnumerator 上调用 Dispose。
C# 1.0
C# 1.0 的主要功能包括:
C# 与 .NET Framework 对应关系
C#版本 |
发布时间 |
.NET 版本 |
VS版本 |
CLR版本 |
C#1.0 |
2002-02-13 |
.NET Framework 1.0 |
VS.NET 2002 |
1.0 |
C#1.1 |
2003-04-24 |
.NET Framework 1.1 |
VS.NET 2003 |
1.1 |
C#2.0 |
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://www.cnblogs.com/SavionZhang/p/11229640.html
谢谢浏览!
【转】C#各版本新增加功能的更多相关文章
- C#各版本新增加功能
本系列文章主要整理并介绍 C# 各版本的新增功能. C# 8.0 C#8.0 于 2019年4月 随 .NET Framework 4.8 与 Visual Studio 2019 一同发布,但是当前 ...
- Delphi 各版本新特性功能网址收集
Delphi XE2 三个新功能介绍举例_西西软件资讯 http://www.cr173.com/html/13179_1.html delphi 2007新功能简介-davidxueer-Chin ...
- C#演化过程--各个版本新增加特性
- CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系
CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...
- Apache Kafka 0.11版本新功能简介
Apache Kafka近日推出0.11版本.这是一个里程碑式的大版本,特别是Kafka从这个版本开始支持“exactly-once”语义(下称EOS, exactly-once semantics) ...
- Apache Flink 1.9.0版本新功能介绍
摘要:Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能.目前,Apache Flink 1.9 ...
- Windows 10 版本 1507 中的新 AppLocker 功能
要查看 Windows 10 版本信息,使用[运行]> dxdiag 回车 下表包含 Windows 10 的初始版本(版本 1507)中包括的一些新的和更新的功能以及对版本 1511 的 W ...
- 微信小程序0.11.122100版本新功能解析
微信小程序0.11.122100版本新功能解析 新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...
- 代码演示C#各版本新功能
代码演示C#各版本新功能 C#各版本新功能其实都能在官网搜到,但很少有人整理在一起,并通过非常简短的代码将每个新特性演示出来. 代码演示C#各版本新功能 C# 2.0版 - 2005 泛型 分部类型 ...
随机推荐
- Java入门系列之字符串创建方式、判断相等(一)
前言 陆续从0开始学习Java出于多掌握一门语言以后的路也会更宽,.NET和Java兼顾,虽然路还很艰难,但事在人为.由于Java和C#语法相似,所以关于一些很基础的内容不会再重头讲,Java系列中所 ...
- oracle学习笔记(十一) 高级查询
高级查询 分组查询 select * from student [where ] [having ] --二次限定 [order by] --asc升序 desc降序 默认升序 查看EMPLOYEE表 ...
- oracle学习笔记(九) SQL常用函数说明以及使用
SQL常用函数说明以及使用 以下补充以下常用的函数,更多的请看oracle函数API文档 to_char to_char(8.58,'9.99') to_char(8.50,'9.00') to_ch ...
- WPF——如何为项目设置全局样式。
在项目中,需要为所有的Button.TextBox设置一个默认的全局样式,一个个的为多个控件设置相同的样式显然是不明智的.在WPF中可以通过资源设置全局样式,主要有俩种方法: 1.第一种就是先写好按钮 ...
- go-gui-控件和信号
go-gui-控件和信号 控件 控件简介 控件是对数据和方法的封装.控件有自己的属性和方法.属性是指控件的特征.方法是指控件的一些简单而可见的功能.如按钮就是一个控件,这个按钮是方形的,里面有张图片, ...
- JVM 参数配置
JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xmn512m -Xss256k -XX:PermSize=256m -XX:MaxPermSize=256m ...
- JS基础语法---分支语句总结
分支语句: if语句:一个分支 if-else语句:两个分支,最终只执行一个分支 if-else if-else if...语句: 多个分支,也是只会执行一个 switch-case语句:多分支语句, ...
- js文件中模块化导入swiper.js文件方法
es6导入: 在js文件顶端 import Swiper from "../../assets/javascripts/swiper.min"; import '../../ass ...
- ucoreOS_lab 1~8 实验报告导航
所有的实验已经全部完成,实验的源代码及报告都在 Github 上,欢迎大家批评指正,如果觉得对你有帮助的话,欢迎为此项目 star & watch & fork 三连,让更多的朋友们看 ...
- [20190909]完善vim的bccacl插件.txt
[20190909]完善vim的bccacl插件.txt http://blog.itpub.net/267265/viewspace-2140886/http://blog.itpub.net/26 ...