C# -Versions
Features added in versions
C# 2.0 in November 2005
Generics
Partial types
Anonymous methods
Iterators
Nullable types
Getter/setter separate accessibility
Method group conversions (delegates)
Co- and Contra-variance for delegates
Static classes
Delegate inference
C# 3.0 in November 2007
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 April 2010
Dynamic binding
Named and optional arguments
Tuples
Generic co- and contravariance
Embedded interop types ("NoPIA")
C# 5.0 in August 2012
Asynchronous methods
Caller info attributes
C# 6.0 in July 2015
Compiler-as-a-service (Roslyn)
Import of static type members into namespace
Exception filters
Await in catch/finally blocks
Auto property initializers
Default values for getter-only properties
Expression-bodied members
Null propagator (null-conditional operator, succinct null checking)
String Interpolation
nameof operator
Dictionary initializer
C# 7.0 proposals
Local functions
Pattern matching
Records / algebraic data types
Nullability tracking
Async streams and disposal
Strongly typed access to wire formats
C# 2.0 in November 2005
Generics
Partial types
Anonymous methods
Iterators
Nullable types
Getter/setter separate accessibility
Method group conversions (delegates)
Co- and Contra-variance for delegates
Static classes
Delegate inference
C# 3.0 in November 2007
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 April 2010
Dynamic binding
Named and optional arguments
Tuples
Generic co- and contravariance
Embedded interop types ("NoPIA")
C# 5.0 in August 2012
Asynchronous methods
Caller info attributes
C# 6.0 in July 2015
Compiler-as-a-service (Roslyn)
Import of static type members into namespace
Exception filters
Await in catch/finally blocks
Auto property initializers
Default values for getter-only properties
Expression-bodied members
Null propagator (null-conditional operator, succinct null checking)
String Interpolation
nameof operator
Dictionary initializer
C# 7.0 proposals
Local functions
Pattern matching
Records / algebraic data types
Nullability tracking
Async streams and disposal
Strongly typed access to wire formats

No comments:
Post a Comment