C# 8.0
Changes in new versions
Null-coalescing assignment
Interpolated string improvements
Nullable reference types
Unmanaged generic types
Ranges
Default interface methods
Asynchronous streams
Positional patterns
using declarations
Static local functions
Switch expressions
is var pattern
Pattern matching with "is"
Property patterns with "switch"
Tuple patterns with "switch"
Pattern matching with "switch"
Index from end operator "^"