record
Вимагає C# 9
Дозволяє порівнювати об'єкти не по посиланню а за значенням
public record Dog(string Name, int Age); // як конструктор
// Name і Age - init only властивості, не можна змінювати після ініціалізації
Dog d1 = new Dog("Rex", 3);
Dog d2 = new Dog("Rembo", 5);
Console.WriteLine(d1 == d2); // True
Таки є можливість потім змінити поля
d1 = Dog with{
Name = "Angry Rex"
}
Записи можна наслідувати один від одного