C# 2.0 |
- 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 |
- 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 |
- Dynamic binding
- Named and optional arguments
- Generic co- and contravariance
- Embedded interop types ("NoPIA")
|
C# 5.0 |
- Asynchronous methods
- Caller info attributes
|
C# 6.0
|
- 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 (Succinct null checking)
- String Interpolation
- nameof operator
- Dictionary initializer
- C# 7.0 Proposals
- Declaration expressions
- Parameter arrays for IEnumerable interfaces
|
No comments:
Post a Comment