C# 9.0 обретает форму, и мы хотели бы поделиться нашим мнением о некоторых основных функциях, которые мы добавляем в эту следующую версию языка. С каждой новой версией C# мы стремимся к большей ясности и простоте в общих сценариях кодирования, и C# 9.0 не является исключением. В этот раз особое внимание уделяется поддержке краткого и неизменного представления форм данных. Init-only свойства Инициализаторы объектов довольно удивительны. Они дают клиенту тип очень гибкий и читаемый формат для создания объекта, и они особенно хороши для создания вложенных объектов, где целое дерево объектов создается за один раз. Вот простой пример: Инициализаторы объектов также освобождают автора типа от написания большого количества шаблонов - все, что им нужно сделать, это написать некоторые свойства! Единственное большое ограничение сегодня заключается в том, что свойства должны быть изменяемыми, чтобы инициализаторы объектов работали: они функционируют, сначала вызывая конструктор объекта (в данном