C# 语言版本
(摘自:维基百科)https://en.wikipedia.org/wiki/C_Sharp_(programming_language)
Versions
| Version | Language specification | Date | .NET Framework | Visual Studio | ||
|---|---|---|---|---|---|---|
| ECMA | ISO/IEC | Microsoft | ||||
| C# 1.0 | December 2002 | April 2003 | January 2002 | January 2002 | .NET Framework 1.0 | Visual Studio .NET 2002 |
| C# 1.1 and 1.2 | October 2003 | April 2003 | .NET Framework 1.1 | Visual Studio .NET 2003 | ||
| C# 2.0 | June 2006 | September 2006 | September 2005[c] | November 2005 | .NET Framework 2.0 | Visual Studio 2005 |
| C# 3.0 | None[d] | August 2007 | November 2007 |
.NET Framework 2.0 (Except LINQ)[36] |
Visual Studio 2008 Visual Studio 2010 |
|
| C# 4.0 | April 2010 | April 2010 | .NET Framework 4 | Visual Studio 2010 | ||
| C# 5.0 | In Progress[37] | None[d] | June 2013 | August 2012 | .NET Framework 4.5 | Visual Studio 2012 Visual Studio 2013 |
| C# 6.0 | None[d] | Draft | July 2015 | .NET Framework 4.6 | Visual Studio 2015 | |
| C# 7.0 | None | March 2017 | .NET Framework 4.6.2 | Visual Studio 2017 | ||
| C# 7.1 | None | None | None | August 2017 | .NET Framework 4.6.2 | Visual Studio 2017 |
New features
- C# 2.0
- Generics[38]
- Partial types[38]
- Anonymous methods[38]
- Iterators[38]
- Nullable types[38]
- Getter/setter separate accessibility[38]
- Method group conversions (delegates)[38]
- Co- and Contra-variance for delegates[38]
- Static classes[38]
- Delegate inference[38]
- C# 3.0
- Implicitly typed local variables[39]
- Object and collection initializers[39]
- Auto-Implemented properties[39]
- Anonymous types[39]
- Extension methods[39]
- Query expressions[39]
- Lambda expression[39]
- Expression trees[39]
- Partial methods[40]
- C# 4.0
- Dynamic binding[41]
- Named and optional arguments[41]
- Generic co- and contravariance[41]
- Embedded interop types ("NoPIA")[41]
- C# 5.0[42]
- C# 6.0
- Compiler-as-a-service (Roslyn)
- Import of static type members into namespace[44]
- Exception filters[44]
- Await in catch/finally blocks[44]
- Auto property initializers[44]
- Default values for getter-only properties[44]
- Expression-bodied members[44]
- Null propagator (null-conditional operator, succinct null checking)[44]
- String interpolation[44]
- nameof operator[44]
- Dictionary initializer[44]
- C# 7.0[45]
- Out variables
- Pattern matching
- Tuples
- Deconstruction
- Local functions
- Digit separators
- Binary literals
- Ref returns and locals
- Generalized async return types
- Expression bodied constructors and finalizers
- Expression bodied getters and setters
- C# 7.1[46]
- Async main
- Default literal expressions
- Inferred tuple element names

C# 语言版本的更多相关文章
- MFCC特征提取(C语言版本)
音频分析中,MFCC参数是经典参数之一.之前对于它的计算流程和原理,大体上是比较清楚的,所以仿真的时候,都是直接调用matlab的voicebox工具或者开发的时候直接调用第三方库.最近想整理一个纯C ...
- android 多语言版本开发
最近项目中用用到语言切换功能,第一想到的就是资源文件,没错. 在资源文件中新建一个文件夹values-en,en表示英语,有一些还细化到地区,如values-en-rUS 即美国地区的英语,r是必需的 ...
- zookeeper 学习笔记 (C语言版本)
1.zookeeper简介 zookeeper是Hadoop的子项目,在大型分布式系统中,zookeeper封装好了一些复杂易出错的服务,提供简单易用的接口,给使用者提供高效稳定的服务.这些服务包括配 ...
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!
原文:T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst.语言版本影响! CSDN 的 Blog 太滥了!无时不刻地在坏! 开始抢救性搬家 ...
- 阿里云ECS服务器云监控(cloudmonitor)Go语言版本插件安装卸载与维护
云监控Go语言版本插件安装_主机监控_用户指南_云监控-阿里云https://help.aliyun.com/document_detail/97929.html 云监控cloudmonitor 1. ...
- WinForm多语言版本实战项目演练
一.课程介绍 关于如何实现“WinForm多语言版本”网上有很多实现技术方案,可以说是“琳琅满目”,"包罗万象".俗话说的好:一千个读者就有一千个哈姆雷特!如果您工作中恰好也遇到这 ...
- ios-多语言版本开发(三)(转载)
写在前面 iOS 多语言版本的开发(二)中我们实现了如何让用户自己去切换系统语言的功能,我们还写了Demo 以供辅助学习:但是,继以上两篇文章都是建立在项目刚刚启动或启动不久,项目中存在的中文字符串 ...
- iOS-多语言版本开发(二)(转载)
题记 iOS 多语言版本的开发(一) 中我们完成了让应用跟随系统语言进行切换,而用户自己却不能切换的功能,也基本上算是实现了多语言版本:可是,对于某些应用来说,实现跟随系统语言切换的同时, 也想要 ...
- iOS-多语言版本的开发(一)(转载)
引言 多语言 & 本地化,随你怎么叫,道理差不多:一个App 要想走出国门,只支持一种语言是不能够的,也是不可能的,多元化世界已经融入我们的生活,对于一些应用,开发多语言版本,已经是不可避免 ...
- 再编写代码中报错:CS8107 C# 7.0 中不支持功能“xxxxxx”。请使用 7.1 或更高的语言版本。
解决方法:项目右键属性 ---> 生成 ---> 找到最下面的高级按钮,点击高级按钮 ---> 常规 ---> 语言版本 ---> 选择 C#最新次要版本,或者比当前版本 ...
随机推荐
- Spring 的IOC容器之XML方式
1. Spring 入门 1.1 概述 Spring 是一个分层的 JavaEE 轻量级开源框架; Spring 的核心是控制反转(IOC)和面向切面(AOP); 1.2 特点 方便解耦,简化开发; ...
- Css选择器定位详解
1.使用 class 属性来定位元素,方法如下: driver.findElement(By.cssSelector("input.login")); 即可以先指定一个 HTML的 ...
- Numpy常用操作方法
NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准数学函数(无需编 ...
- Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim
一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...
- 0409-服务注册与发现-Eurek Ribbon Feign常见问题及解决
一.Eureka 1.1.Eureka Environment的配置: eureka.environment: 字符串 参考文档: https://github.com/Netflix/eureka/ ...
- 简明python教程五----数据结构(下)
引用 当你创建一个对象并给它赋一个变量的时候,这个变量仅仅引用那个对象,而不是表示这个对象本身!即,变量名指向你计算机中存储那个对象的内存. print 'Simple Assignment' sho ...
- Servlet中参数获取方法
在web.xml里面可以定义两种参数: 一种是全局范围的参数, 一种是servlet内的参数. web.xml里定义参数的应用举例:在做分页功能时,可以在代码中直给定pageSize的值,这样,写死在 ...
- Java io流详解三
public class IOpractise { public void iotest() { int b= 0; FileInputStream fis = null; try { fis = n ...
- Java泛型四:Java泛型总结
原文地址https://www.cnblogs.com/lwbqqyumidi/p/3837629.html 一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 publ ...
- String与其他类型的转换
首先,对于String类有一点是毫无疑问的:对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象. 一. String与StringBuilder.StringBu ...