C# Evolution History 



From C# source code to machine execution


    
VersionYear.NET FrameworkVisual StudioFeatures
C# 1.0 2002 1.0 / 1.1 Visual Studio 2002 Basic Features
C# 2.0 2005 2.0 Visual Studio 2005
  • Generics
  • Partial types
  • Anonymous methods
  • Nullable types
  • Iterators
  • Covariance and contravariance
C# 3.0 2007 3.0 / 3.5 Visual Studio 2008
  • Auto implemented properties
  • Anonymous types
  • Query expressions
  • Lambda expression
  • Expression trees
  • Extension methods
C# 4.0 2010 4.0 Visual Studio 2010
  • Dynamic binding
  • Named/optional arguments
  • Generic covariant and contravariant
  • Embedded interop types
C# 5.0 2012 4.5 Visual Studio 2012 / 13
  • Asynchronous members
  • Caller info attributes
C# 6.0 2015 4.6 Visual Studio 2015
  • Static imports
  • Exception filters
  • Property initializers
  • Expression bodied members
  • Null propagator
  • String interpolation
  • nameof operator
  • Dictionary initializer
C# 7.0 2017 .NET Core Visual Studio 2017
  • Out variables
  • Tuples and deconstruction
  • Pattern matching
  • Local functions
  • Expanded expression bodied members
  • Ref locals and returns