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#最新次要版本,或者比当前版本 ...
随机推荐
- for...in循环取Json数据
var result = { "Tables":{ "B2B_DS_ORDERMX0":{ "ordernum":"tables- ...
- redis 字符串和集合操作
字符串 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建,存在则修改 r.set('name', 'zhangsan' ...
- 我的Android进阶之旅------>解决Error: specified for property 'mergedManifest' does not exist.
错误描述 刚运行从Github上面下载而来的代码时,爆了如下所示的bug,错误描述如下所示: Error:A problem was found with the configuration of t ...
- Java加密技术(四)非对称加密算法RSA
RSA 这样的算法1978年就出现了.它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解和操作.也非常流行.算法的名字以发明者的名字命名:Ron Rivest, AdiShamir ...
- 几分钟私人定制APP全攻略!!
上网百度了一下什么是自媒体,你会看到这种介绍:自媒体(外文名:We Media)又称"公民媒体"或"个人媒体",是指私人化.平民化.普泛化.自主化的传播者,以现 ...
- Leetcode 之 Kth Largest Element in an Array
636.Kth Largest Element in an Array 1.Problem Find the kth largest element in an unsorted array. Not ...
- Oracle 11g数据库详解(3)
ORA-14025:不能为实体化视图或实体化视图日志指定PARTITION ORA-14026:PARTITION和CLUSTER子句互相排斥 ORA-14027:仅可以指定一个PARTITION子句 ...
- django 快速数据库操作,不用SQL语句
配置models文件 # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import mod ...
- PHP如何实现验证码
现在来说说简单的纯数字验证码吧. 如果是初学者,建议按照我代码的注释 //数字 一步步来.最简单的方法,还是把整个代码复制走了. 新建一个captcha.php: <?php //11>设 ...
- ibatis $与#的区别
在sql配置中比如in(#rewr#) 与in ($rewr$) 在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型 ...