C# records
- Алик Ким
- 17 сент. 2022 г.
- 1 мин. чтения
появились в C# 9.
это - обычный C# класс/POCO/DTO, но имеет дополнительные удобства:
имеют по умолчанию в качестве Equals почленное сравнение. а так же реализацию операторов == и != (на той же логике)
возможность раскладывать значения по отдельным переменным :
var (personName, personAge) = person;
(для этого в объявлении рекорда должен присутствовать специальный метод Deconstructor)
инициализация на основе другого рекорда:
var tom = new Person("Tom", 37);
var sam = tom with { Name = "Sam" };
краткая форма объявления:
public record Person(string Name, int Age);
создает класс со свойствами , и конструктор с параметрами, который их инициализирует + деструктор
ToString по дефолту возвращает значение свойств
Comments