docs/wiki/Changelog-for-C#-and-VB-compilers.md
The C# compiler now supports the 7.3 set of language features including:
System.Enum, System.Delegate and unmanaged constraints.= ref).Span<int> x = stackalloc[] { 1, 2, 3 };.fixed statement: Types that implement a suitable GetPinnableReference can be used in a fixed statement.out var and pattern variables are allowed in field initializers, constructor initializers and LINQ queries.== and !=.[field: …] attributes on an auto-implemented property to target its backing field.The C# compiler now supports:
/keyfile option, all OSes)Two minor languages changes where made to the 7.2 language features:
in overloads (details)ref and this in ref extension methods (details)The C# compiler now supports the 7.2 set of language features including:
Span<T> type being used throughout Kestrel and CoreFX via the ref struct modifier.readonly struct modifier: Enforces that all members of a struct are readonly. This adds a layer of correctness to code and also allows the compiler to avoid unnecessary copying of values when accessing members.in parameters / ref readonly returns: Allows for unmodifiable structs to be safely passed and returned with the same efficiency as modifiable ref values.private protected access modifier: Restricts access to the intersection of protected and internal.The C# compiler now supports the 7.1 set of language features, including:
The C# and VB compilers now can produce reference assemblies.
When you use C# 7.1 features in your project, lightbulb offers to upgrade your project’s language version, to “C# 7.1” or “latest”.
The C# compiler now supports the 7.0 set of language features, including: