Обязательная инициализация record struct
От: vaa  
Дата: 18.02.22 08:05
Оценка:
Обычный struct можно было объявить без инициализации (как в си?):

 public struct Foo { public string Name; }
 Foo foo;
 foo.Name = "Alice";


    public record struct Boo(string Name);
     // Boo boo;
     // boo.Name = "Alice"; <= error CS0165: Использование локальной переменной "boo", которой не присвоено значение.

        Boo boo = new("Alice"); // <= OK


Будто это класс какой-нибудь.
Почему так?
☭ ✊ В мире нет ничего, кроме движущейся материи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.