C# History and Versions with Features


C# is pronounced as "C-Sharp". It is an object-oriented programming language provided by Microsoft that runs on .Net Framework and Anders Hejlsberg is known as the founder of C# language.


C# version with .NET framework and CLR version with Visual Studio.


1.      C# 1.0.NET framework 1.0,1.1 , CLR version 1.0, Visual Studio 2002.

2.      C# 2.0 .NET framework 2.0 , CLR version 2.0, Visual Studio 2005.

3.      C# 3.0 .NET framework 3.0,3.5 , CLR version 2.0, Visual Studio 2008.

4.      C# 4.0 .NET framework 4.0 , CLR version 4.0, Visual Studio 2010.

5.      C# 5.0 .NET framework 4.5 , CLR version 4.0, Visual Studio 2012,2013.

6.      C# 6.0 .NET framework 4.6 , CLR version 4.0 ,Visual Studio 2013,2015.

7.      C# 7.0 .NET framework 4.6,4.6.1,4.6.2 , CLR version 4.0, Visual Studio 2015, 2017 RC.





C# version with Features



C# 1.0(.NET Framework 1.0/1.1Visual Studio .NET 2002)

  • Basic features


C# 2.0.NET Framework 2.0(Visual Studio 2005)

  • Generics
  • Partial types
  • Anonymous methods
  • Iterators
  • Nullable types
  • Private setters (properties)
  • Method group conversions (delegates)
  • Covariance and Contra-variance
  • Static classes

C# 3.0.NET Framework 3.0\3.5 (Visual Studio 2008)

  • Implicitly typed local variables
  • Object and collection initializers
  • Auto-Implemented properties
  • Anonymous types
  • Extension methods
  • Query expressions
  • Lambda expressions
  • Expression trees
  • Partial Methods

C# 4.0.NET Framework 4.0 (Visual Studio 2010)

  • Dynamic binding (late binding)
  • Named and optional arguments
  • Generic co- and contravariance
  • Embedded interop types

C# 5.0.NET Framework 4.5 (Visual Studio 2012/2013)

  • Async features
  • Caller information

C# 6.0.NET Framework 4.6 (Visual Studio 2013/2015)

  • Expression Bodied Methods
  • Auto-property initializer
  • nameof Expression
  • Primary constructor
  • Await in catch block
  • Exception Filter
  • String Interpolation

C# 7.0.NET Core (Visual Studio 2017)

  • out variables
  • Tuples
  • Discards
  • Pattern Matching
  • Local functions
  • Generalized async return types
  • throw Expressions