C# 1.0 |
.NET Framework 1.0/1.1 |
Visual 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 2.0 |
Visual Studio 2017 |
out variables |
|
|
|
Tuples |
|
|
|
Discards |
|
|
|
Pattern Matching |
|
|
|
Local functions |
|
|
|
Generalized async return types |
|
|
|
Expanded expression body members |
|
|
|
|
C# 8.0 |
.NET Core 3.0 |
Visual Studio 2019 |
Readonly members |
|
|
|
Default interface methods |
|
|
|
Using declarations |
|
|
|
Static local functions |
|
|
|
Disposable ref structs |
|
|
|
Nullable reference types |
|
|
|
|
|
|
|
Exception Filter |
|
|
|
String Interpolation |
|
|
|
|
C# 9.0 |
.NET 5.0 |
Visual Studio 2019 |
Records |
|
|
|
Init-only properties |
|
|
|
Top-level statements |
|
|
|
Init accessors and readonly fields |
|
|
|
With-expressions |
|
|
|
Value-based equality |
|
|
|
Inheritance changes |
|
|
|
|
C# 10.0 |
.NET 6.0 |
Visual Studio 2022 |
Record structs |
|
|
|
Global using directives |
|
|
|
File-scoped namespace declaration |
|
|
|
Extended Proptery Patterns |
|
|
|
Null Parameter Checking |
|
|
|
Constant interpolated strings |