C# 12 preview features!
МалкоМеките показаха 3 години нови фиичъра в C# 12. Лично за мен и 3те са копирани от Dart ама няма нищо.
Фиичърите са:
- Primary constructors for non-record classes and structs
Пример:
public class Student(int id, string name
,
IEnumerable<decimal> grades)
{
public Student(int id, string name)
: this(id, name,
Enumerable.Empty<decimal>()) { }
public int Id => id;
public string Name { get; set; }
= name.Trim();
public decimal GPA => grades.Any()
? grades.Average() : 4.0m;
}
Готино е, факт и можеш да викаш primary constructora както е показано от 2тория , което е нормално и изглежда добре.
- Using aliases for any type
using Measurement = (string, int);
using PathOfPoints = int[];
using DatabaseInt = int?;
- Default values for lambda expression parameters
Може би най якия фиичър :
var addWithDefault = (int addTo = 2)
=>
addTo + 1;
addWithDefault(); // 3
addWithDefault(5); // 6
За повече инфо на хамерикански четете тук