C#各版本
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 |
出处:http://www.cnblogs.com/SavionZhang
作者:张传宁 微软MCP、科技部创新工程师
C#各版本的更多相关文章
- 【AR实验室】OpenGL ES绘制相机(OpenGL ES 1.0版本)
0x00 - 前言 之前做一些移动端的AR应用以及目前看到的一些AR应用,基本上都是这样一个套路:手机背景显示现实场景,然后在该背景上进行图形学绘制.至于图形学绘制时,相机外参的解算使用的是V-SLA ...
- ABP入门系列(2)——通过模板创建MAP版本项目
一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...
- 理解Maven中的SNAPSHOT版本和正式版本
Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个 ...
- MIP 官方发布 v1稳定版本
近期,MIP官方发布了MIP系列文件的全新v1版本,我们建议大家尽快完成升级. 一. 我是开发者,如何升级版本? 对于MIP页面开发者来说,只需替换线上引用的MIP文件为v1版本,就可以完成升级.所有 ...
- 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
- DBImport V3.7版本发布及软件稳定性(自动退出问题)解决过程分享
DBImport V3.7介绍: 1:先上图,再介绍亮点功能: 主要的升级功能为: 1:增加(Truncate Table)清表再插入功能: 清掉再插,可以保证两个库的数据一致,自己很喜欢这个功能. ...
- Windows 7上执行Cake 报错原因是Powershell 版本问题
在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...
- 通过Jexus 部署 dotnetcore版本MusicStore 示例程序
ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示 ...
- VisualStudio2013 如何打开之前版本开发的(.vdproj )安装项目
当你的项目使用早于 visualstudio2013 的版本开发并且使用 Visual Studio Installer 制作安装项目时,在升级至 VS2013 后会发现新安装项目无法打开, VS20 ...
- 清空Github上某个文件的历史版本
title: 清空Github上某个文件的历史版本 author: 青南 date: 2015-01-08 16:04:53 categories: [经验] tags: [Github,histor ...
随机推荐
- 使用极光第三方IM的时候服务器报错Caused by: java.net.UnknownHostException: api.im.jpush.cn
Caused by: java.net.UnknownHostException: api.im.jpush.cn 服务器报这个:首先查看服务器是否能ping通,如果能ping通,则看下 vi /et ...
- Elasticsearch在windows上安装与使用
Elasticsearch简称ES. 是一个全文搜索服务器,也可作为NoSQL数据库,存储任意格式的文档和数据,也可做大数据的分析,是一个跨界开源产品. ES的特点: 全文搜索引擎 文档存储和查询 大 ...
- 小甲鱼汇编语言学习笔记——day01
1.计算机CPU由如下三部分组成(如下图):运算器.控制器.寄存器. 2.寄存器:简单说,就是用来存储数据的器件,类似内存,不过这个是CPU专用,跟内存不一样. 8086CPU里,寄存器总共有14个, ...
- Invalid byte tag in constant pool: 19 与 javax/el/ELManager问题解决
整个生产环境采用JDK1.8 + Tomcat 7.0.65 代码重构后,启动报错,主要异常如下: 严重: Unable to process Jar entry [module-info.class ...
- react中的ref在input中的详解
当我们在项目中遇见文本输入框的时候,获取时刻输入框中的值 1.受控组件 class NameForm extends React.Component { constructor(props) { su ...
- [转帖]nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件
nginx学习,看这一篇就够了:下载.安装.使用:正向代理.反向代理.负载均衡.常用命令和配置文件 2019-10-09 15:53:47 冯insist 阅读数 7285 文章标签: nginx学习 ...
- Centos7 yum方式安装MySQL
1.下载安装源 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 2.yum方式安装 yu ...
- AtCoder-abc147 (题解)
A - Blackjack (水题) 题目链接 大致思路: 水题 B - Palindrome-philia (水题) 题目链接 大致思路: 由于整个串是回文串,只要判断前一半和后一半有多少个不同即可 ...
- C# 历遍对象属性
今天有个网友问如何历遍对象的所有公共属性,并且生成XML.采用序列化方式的话比较简单,我写个手工解析的例子,这样能让初学者更加理解也比较灵活,记录一下吧或许会有人用到. 对象模型: public cl ...
- emmet 配置文件
snippets.json(添加自己的或更新现有的片段) preferences.json(更改某些Emmet过滤器和操作的行为) SyntaxProfiles.json(定义生成的HTML / XM ...