- 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 IEnumerator s 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 ), que ry 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, TUPL e 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 filt ERS, element initializers,
await in catch finally and, extension Add methods in collection initializers.
- C # 7.0 released with. NET 4.7 and VS2017 (March) Major new features:tuples, ref locals and ref return, Patt Ern matching (including pattern-based switch statements), inline
out parameter declarations, local functions, binary Lite RALs, digit separators, and arbitrary async returns.
- C # 7.1 released with VS2017 v15.3 (August) Minor new Features:async Main, tuple member name inference, DEFA Ult expression, pattern matching with generics.
- C # 7.2 released with VS2017 v15.5 (November) Minor new features:private Protected access modifier, span< T>, aka Interior Pointer, aka Stackonly struct, everything else.
SOURCE Https://stackoverflow.com/questions/247621/what-are-the-correct-version-numbers-for-c
The relationship between the C # version and the framework