New features for those who haven’t seen them:
// Primary constructors
public class NamedItem(string name)
{
public string Name => name;
}
// Default lambda params
var IncrementBy =
(int source, int increment = 1) =>
source + increment;
Console.WriteLine(IncrementBy(5)); // 6
Console.WriteLine(IncrementBy(5, 2)); // 7
// Type aliases
using Point = (int x, int y);
Primary constructors I think are getting a bit too much bloat for the language. I get the purpose and I use them in Scala, but it just feels like too many ways to do a simple thing in C#.
Tuple type aliases FTW
Just still desperately hoping for Union types
I heard that unions won’t be implemented in C# 12, unfortunately
I heard the same. The number of places I want to use something like an Option<T> instead of having to consider null values… One day though