Анонимный тип — простейший класс, созданный на лету, чтобы сохранить набор значений. Создать анонимный тип можно с помощью ключевого слова 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 } }; | 

