Инициализатор Объекта | Object Initializer

Инициализатор объектов

Инициализатор объектов имеет фигурные {} скобки.

Инициализаторы объектов позволяют присваивать значения всем доступным полям и свойствам во время создания. Синтаксис инициализатора объекта позволяет задавать аргументы конструктора или опускать их (включая скобки).

В приведенных ниже двух примерах результат один. При создании экземпляра объекта вызывается конструктор по умолчанию, после чего срабатывает сам инициализатор.

Example instance = new Example { field1 = value1, field2 = value2 };
Example instance = new Example() { field1 = value1, field2 = value2 };

Также есть возможность присваивать значения всем полям и свойствам без необходимости указания имен оных. Такой вариант возможен только при условии, что класс реализует интерфейс IEnumerable. Ниже приведен пример.

Example instance = new Example { value1, value2 };

Инициализаторы объектов с анонимными типами

Инициализация анонимных типов позволяет задавать readonly авто-свойства без необходимости указания типа. В примере ниже создан объект анонимного типа c двумя свойствами только для чтения.

var anonymous = new { Property1 = value1, Property2 = value2 };
Resources
[Инициализаторы объектов С# \ Microsoft Docs](https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/classes-and-structs/object-and-collection-initializers)

results for ""

    No results matching ""