C# 7.0
Highlights
- Tuples with named elements: (int sum, int count) Foo()
 - Deconstruction: var (x, y) = point;
 - Pattern matching (is, switch): type, constant, and var patterns
 - Out variables: int.TryParse(s, out var value)
 - Local functions: Nested helper methods with lexical scope
 - Ref returns and locals: Return by reference to avoid copies
 - Throw expressions: x ?? throw new ArgumentNullException(nameof(x))
 - Digit separators and binary literals: 1_000_000, 0b1010_1010