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
onDispose
s which implementedIEnumerator
. A few other small features.IDisposable
-
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 (
), query expressionsvar
- C# 4.0 released with .NET 4 and VS2010 (April 2010). Major new features: late binding (
), delegate and interface generic variance, more COM support, named arguments and optional parametersdynamic
- 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, binary literals
and digit separators, indexed members and element initializers,
inawait
andcatch
, extensionfinally
methods in collection initializers.Add