What's new in C#

This page provides a roadmap of new features in each major release of the C# language. The links below provide detailed information on the major features added in each release.


The C# language relies on types and methods in a standard library for some of the features. One example is exception processing. Every throw statement or expression is checked to ensure the object being thrown is derived from Exception. Similarly, every catch is checked to ensure that the type being caught is derived from Exception. Each version may add new requirements. To use the latest language features in older environments, you may need to install specific libraries. These are documented in the page for each specific version. You can learn more about the relationships between language and library for background on this dependency.

  • C# 7:

    • This page describes the latest features in the C# language. This covers C# 7, currently available in Visual Studio 2017.
  • C# 6:

    • This page describes the features that were added in C# 6. These features are available in Visual Studio 2015 for Windows developers, and on .NET Core 1.0 for developers exploring C# on macOS and Linux.
  • Cross Platform Support:
    • C#, through .NET Core support, runs on multiple platforms. If you are interested in trying C# on macOS, or on one of the many supported Linux distributions, learn more about .NET Core.

Previous Versions

The following lists key features that were introduced in previous versions of the C# language and Visual Studio .NET.

  • Visual Studio .NET 2013:

    • This version of Visual Studio included bug fixes, performance improvements, and technology previews of .NET Compiler Platform ("Roslyn") which became the .NET Compiler Platform SDK.
  • C# 5, Visual Studio .NET 2012:

  • C# 4, Visual Studio .NET 2010:

  • C# 3, Visual Studio .NET 2008:

    • Object and collection initializers, lambda expressions, extension methods, anonymous types, automatic properties, local var type inference, and Language Integrated Query (LINQ).
  • C# 2, Visual Studio .NET 2005:

    • Anonymous methods, generics, nullable types, iterators/yield, static classes, and covariance and contra variance for delegates.
  • C# 1.1, Visual Studio .NET 2003:

    • #line pragma and xml doc comments.
  • C# 1, Visual Studio .NET 2002:

    • The first release of C#.