Использование класса записи...
Код: Выделить всё
record class Person(string FirstName, string LastName);
Person p = new("John", "Smith");
p.FirstName = "Jack" // Not allowed!
Код: Выделить всё
record struct Person(string FirstName, string LastName);
Person p = new("John", "Smith");
p.FirstName = "Jack" // Fine!
Код: Выделить всё
readonly record struct Person(string FirstName, string LastName);
Person p = new("John", "Smith");
p.FirstName = "Jack" // Now allowed!
Изменить: я думаю, я спрашиваю, почему синтаксис... странный?
Например, это выглядело бы более логично, как:
- – изменяемый ссылочный тип с семантикой значений.
Код: Выделить всё
record class - — неизменяемый ссылочный тип с семантикой значений.
Код: Выделить всё
readonly record class - – изменяемый тип значения с семантикой значения.
Код: Выделить всё
record struct - — неизменяемый тип значения с семантикой значения.
Код: Выделить всё
readonly record struct
Подробнее здесь: https://stackoverflow.com/questions/730 ... e-not-in-c
Мобильная версия