https://en.wikipedia.org/wiki/C_Sharp_(programming_language)#Versions

http://stackoverflow.com/questions/247621/what-are-the-correct-version-numbers-for-c

These are the versions of C# known about at the time of this writing:

  • C# 1.0 released with .NET 1.0 and VS2002 (January 2002)
  • C# 1.2 (bizarrely enough); released with .NET 1.1 and VS2003 (April 2003). First version to call Dispose on IEnumerators which implemented IDisposable. A few other small features.
  • C# 2.0 released with .NET 2.0 and VS2005 (November 2005). Major new features: generics, anonymous methods, nullable types, iterator blocks
  • C# 3.0 released with .NET 3.5 and VS2008 (November 2007). Major new features: lambda expressions, extension methods, expression trees, anonymous types, implicit typing (var), query expressions
  • C# 4.0 released with .NET 4 and VS2010 (April 2010). Major new features: late binding (dynamic), delegate and interface generic variance, more COM support, named arguments, tuple data type and optional parameters
  • C# 5.0 released with .NET 4.5 and VS2012 (August 2012). Major features: async programming, caller info attributes. Breaking change: loop variable closure.
  • C# 6.0 released with .NET 4.6 and VS2015 (July 2015). Implemented by Roslyn. Features: initializers for automatically implemented properties, using directives to import static members, exception filters, indexed members and element initializers, await in catch and finally, extension Add methods in collection initializers.

There is no such thing as C# 3.5 - the cause of confusion here is that the C# 3.0 is present in .NET 3.5. The language and framework are versioned independently, however - as is the CLR, which is at version 2.0 for .NET 2.0 through 3.5, .NET 4 introducing CLR 4.0, service packs notwithstanding. The CLR in .NET 4.5 has various improvements, but the versioning is unclear: in some places it may be referred to as CLR 4.5 (this MSDN page used to refer to it that way, for example), but the Environment.Version property still reports 4.0.xxx.

More detailed information about the relationship between the language, runtime and framework versions is available on the C# in Depth site. This includes information about which features of C# 3.0 you can use when targeting .NET 2.0. (If anyone wants to bring all of the content into this wiki answer, they're welcome to.)

最新文章

  1. 【原】iOS 同时重写setter和getter时候报错:Use of undeclared identifier '_name';did you mean 'name'
  2. Yii日志记录Logging
  3. org.hibernate.QueryException: could not resolve property
  4. [RabbitMQ] Connection failed
  5. kuangbin_ShortPath G (POJ 1502)
  6. Python 数据类型
  7. 分享10 个超酷的 HTML5/CSS3 应用及源码
  8. selendroid项目实战3 selendroid driver初始化失败问题
  9. 关于Unity3D中的版本管理 .
  10. 测试Beetle.Redis+Web Api
  11. leetcode_question_57 Insert Interval
  12. TCP各种连接状态注释
  13. 使用Ajax发送http请求(get&post请求)
  14. JWT学习小结
  15. for循环的灵活性
  16. series of Nimble
  17. 映射函数map
  18. python基础——操作系统简介
  19. 漫游Kafka设计篇之性能优化(7)
  20. python 内建函数isinstance的用法以及与type的区别

热门文章

  1. WCF(四) 绑定
  2. This function has none of DETERMINISTIC, NO SQL
  3. 最小树形图(poj3164)
  4. UUID的定义以及作用
  5. 310实验室OTL问题
  6. java利用poi 把ppt转化为图片,
  7. Android N 通知概览及example
  8. pta 习题集 5-17九宫格输入法
  9. 使用Dataset构建数据到lgb中
  10. Why do some system users have /usr/bin/false as their shell? What's the difference between /sbin/nologin and /bin/false