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);
  • starmanOP
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 year ago

    In my opinion type aliases shouldn’t use using keyword, since it is used by other useful features, but overall those changes are nice.

    Yes, C# is slowly getting more bloated, like C++, but it’s still a lot better than cpp imo and those changes (especially primary constructors) can remove boilerplate code.

    • Perhyte@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Type aliases already existed, and already used the using keyword. This version essentially just adds a few new options for the bit after the = (to be specific: tuple types, array types, pointer types, or other unsafe types).