Parentheses are now forbidden around named parameters. The following compiles in C#5, but not C#6
Console.WriteLine((value: 23));
Operands of is
and as
are no longer allowed to be method groups. The following compiles in C#5, but not C#6
var result = "".Any is byte;
The native compiler allowed this (although it did show a warning), and in fact didn’t even check extension method compatibility, allowing crazy things like
1.Any is string
orIDisposable.Dispose is object
.
See this reference for updates on changes.