C#各版本新增功能
本系列文章主要整理并介绍 C# 各版本的新增功能。
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 随 VS2017 v15.7 发布(2018年5月)。 自 Visual Studio 2017 版本 15.7 和 .NET Core 2.1 SDK 起,开始随附 C# 7.3。
具体新增功能请查看 C#7.3 新增功能
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 随 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# 语言添加了许多新功能:具体请查看 C#7.0 新增功能
具体功能请查看 C#6.0 新增功能
除了发布此版本,他们还做了另一件事,虽然这件事本身与传统的语言功能无关。 他们发布了 Roslyn 编译器即服务。 C# 编译器现在是用 C# 编写的,你可以使用编译器作为编程工作的一部分。
async 和 await 模型。C# 3.0 版和 Visual Studio 2008 一起发布于 2007 年下半年,但完整的语言功能是在 .NET Framework 3.5 版中发布的。 此版本标示着 C# 发展过程中的重大更改。 C# 成为了真正强大的编程语言。
下面列出的功能中大多数似乎都是不可或缺,难以分割的。 它们的组合都是经过巧妙布局。 我们通常认为 C# 版本的杀手锏是查询表达式,也就是语言集成查询 (LINQ)。LINQ 的构造可以建立在更细微的视图检查表达式树、Lambda 表达式以及匿名类型的基础上。 不过无论如何 C# 3.0 都提出了革命性的概念。 C# 3.0 开始为 C# 转变为面向对象/函数式混合语言打下基础。
微软于2005年11月发布了.NET Framework 2.0,同时发布了Visual Studio 2005,同步对应的C#升级到了2.0版本。
除现有功能以外的其他 C# 2.0 功能:
- 方法组转换(委托)
- 静态类
- 委托推断
随 Visual Studio 2003 一起提供的 C# 版本 1.2。 它对语言做了一些小改进。 最值得注意的是,从此版本开始,当 IEnumerator 实现 IDisposable 时,foreach 循环中生成的代码会在 IEnumerator 上调用 Dispose。
C# 1.0 的主要功能包括:
|
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#各版本新增功能的更多相关文章
- ABP Framework 5.3.0 版本新增功能和变更说明
ABP Framework 5.3.0 稳定版已在2022年6月14日正式发布. 以下是本版本的新增功能: "开始"页面提供创建单层项目选项 启动模板提供 PWA 支持 Volo. ...
- .NET快速信息化系统开发框架 V3.2->Web版本新增“文件管理中心”集上传、下载、文件共享等一身,非常实用的功能
文件中心是3.2版本开始新增的一个非常实用功能,可以归档自己平时所需要的文件,也可以把文件分享给别人,更像一个知识中心.文件中心主界面如下图所示,左侧“我的网盘”展示了用户对文件的分类,只能自己看到, ...
- CorelDRAW2019版本下载,CorelDRAW最新版新增功能(全)
使用CorelDRAW 2019,随时随地进行设计创作.无论您使用的是 Windows 或 Mac,都能在为您的平台量身设计的直观界面中,随心所欲地自由创作.无论您是热衷于像素,执迷于无缝输出或沉浸于 ...
- ADO.NET 中的新增功能
ADO.NET 中的新增功能: .NET Framework (current version) 以下是 .NET Framework 4.5 中 ADO.NET 的新增功能. SqlClient D ...
- CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系
CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...
- 微信小程序0.11.122100版本新功能解析
微信小程序0.11.122100版本新功能解析 新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...
- .NET Framework3.0/3.5/4.0/4.5新增功能摘要
Microsoft .NET Framework 3.0 .NET Framework 3.0 中增加了不少新功能,例如: Windows Workflow Foundation (WF) Windo ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增企业通(内部简易聊天工具)
RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本 新增企业通(内部简易聊天工具) RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用 ...
- PHP V5.2 中的新增功能,第 1 部分: 使用新的内存管理器
PHP V5.2:开始 2006 年 11 月发布了 PHP V5.2,它包括许多新增功能和错误修正.它废止了 5.1 版并被推荐给所有 PHP V5 用户进行升级.我最喜欢的实验室环境 —— Win ...
随机推荐
- [原创]UnLua Emmylua UE4开发环境搭建
前言 公司开发的第二个虚幻4项目已经上线了,慢慢趋于稳定.回想起开荒的日子,历历在目.从引擎脚本的选择,各工具(导表,协议生成...)的重构.开发, 引擎扩展(多骨骼支持,Notify扩展,技能编辑器 ...
- Python【每日一问】28
问: [基础题]:求 1+2!+3!+...+20! 的和 [提高题]:两个乒乓球队进行比赛,各出三人.甲队为 a,b,c 三人,乙队为 x,y,z 三人.已抽签决定比赛名单. 有人向队员打听比赛的名 ...
- javascript 忍者秘籍读书笔记(二)
闭包的私有变量 function Ninja() { let feints = 0; this.getFeints = function () { return feints }; this.fein ...
- Effective.Java第1-11条
1. 考虑使用静态工厂方法替代构造方法 一个类可以提供一个公共静态工厂方法,它只是返回类实例的静态方法.例如JDK的Boolean的valueOf方法: public final class Bool ...
- django开发_七牛云图片管理
七牛云注册 https://www.qiniu.com/ 实名认证成功之后,赠送10G存储空间 复制粘贴AK和SK 创建存储空间,填写空间名称,选择存储区域.访问控制选择位公开空间 获取测试域名 七牛 ...
- CSP2019-S游记
目录 CSP2019-S游记 Day -2(UPDATE:2019-11-14) Day -1(UPDATE:2019-11-15) Day 1(UPDATE:2019-11-16) Day 2(UP ...
- MQTTv5.0 ---AUTH – 认证交换
AUTH报文被从客户端发送给服务端,或从服务端发送给客户端,作为扩展认证交换的一部分,比如质询/ 响应认证.如果CONNECT报文不包含相同的认证方法,则客户端或服务端发送AUTH报文将造成协议错 误 ...
- 一段代码看 Java 引用类型
Java 中的操作数(不知道叫什么,相对于 bytecode 而言,类似 CPU 的操作码和操作数)分为值类型和引用类型: 值类型就是直接存储最终数值的,如 char, int, float, dou ...
- Linux 脚本在线安装docker
2019/11/28, CentOS 8, docker 19.03.5, docker-compose 1.25.0 摘要:CentOS8使用脚本安装docker,dnf安装rpm,安装docker ...
- 《C++ Primer》学习总结;兼论如何使用'书'这种帮助性资料
6.25~ 6.27,用了3天翻了一遍<C++ Primer>. ▶书的 固有坏处 一句话: 代码比 文字描述 好看多了.————> 直接看习题部分/ 看demo就行了 看文字在描述 ...