Анонимный тип — простейший класс, созданный на лету, чтобы сохранить набор значений. Создать анонимный тип можно с помощью ключевого слова new
, после которого идет инициализатор объекта, задающий значения свойств анонимного типа.
1 | var dude = new { Name = "Bob", Age = 1 }; |
Из этой строки компилятор создаст частный вложенный тип с доступными только для чтения свойствами Name
(тип string
) и Age
(тип int
). Переменная, ссылающаяся на экземпляр анонимный тип, должна определяться с ключевым словом var
(без указания конкретного типа), т.к. название типа в этом случае будет сгенерировано компилятором.
Названия свойств анонимного типа может быть выведено из выражения, которое само по себе является идентификатором:
1 2 3 4 | int Age = 1; var dude = new { Name = "Bob", Age }; // эквивалентно: var dude = new { Name = "Bob", Age = Age }; |
1 2 3 4 5 | var dudes = new[] { new { Name = "Bob", Age = 30 }, new { Name = "Mary", Age = 40 } }; |