C# (pronounced "see sharp") is a multi-paradigm programming language encompassing imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines. It was developed by Microsoft within the .NET initiative and later approved as a standard by Ecma (ECMA-334) and ISO (ISO/IEC 23270). C# is one of the programming languages designed for the Common Language Infrastructure.

C# is intended to be a simple, modern, general-purpose, object-oriented programming language. Its development team is led by Anders Hejlsberg. The most recent version is C# 4.0, which was released on April 12, 2010.
Which version of C# to use?


For a beginner it is always a daunting task to decide on which version to use and which development tool to use. The table here shows clearly the available versions of C# and the corresponding Visual Studio version to use.

C# 2.0 C# 3.0 C# 4.0 C# 5.0 (planned)
Features
added
  • Generics
  • Partial types
  • Anonymous methods
  • Iterators
  • Nullable types
  • Implicitly typed local variables
  • Object and collection initializers
  • Auto-Implemented properties
  • Anonymous types
  • Extension methods
  • Query expressions
  • Lambda expressions
  • Expression trees
  • Dynamic binding
  • Named and optional arguments
  • Generic co- and contravariance
  • Asynchronous methods
  • Compiler As a Service
Date November 2005 November 2007 April 2010
Visual Studio Visual Studio 2005 Visual Studio 2008 Visual Studio 2010
.NET Framewrork .NET Framework 2.0 .NET Framework 3.5 .NET Framework 4

Design Goals of C#