C# 8.0
Highlights
- Nullable reference types: Opt-in static null-safety annotations
- Switch expressions: Concise, expression-bodied pattern matching switches
- Ranges and indices: ^1, .. operators
- Using declarations: using var stream = โฆ;
- Readonly members: readonly on struct members
- Default interface methods
- Asynchronous streams: await foreach
- Null-coalescing assignment: x ??= y