Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
113 of 1492 menu
◀ ▶

Анонимный тип

Анонимный тип создают выражением new { ... } с инициализаторами свойств. Компилятор генерирует класс с read-only полями. Имена свойств задают в литерале, например Num и Name.

Синтаксис

var имя = new { Свойство = значение };

Пример

Давайте создадим анонимный объект с двумя полями:

using System; class Program { static void Main() { var item = new { Num = 5, Name = "abcde" }; Console.WriteLine(item.Name); } }

Результат выполнения кода:

"abcde"

Пример

Давайте выведем числовое свойство:

using System; class Program { static void Main() { var item = new { Num = 5, Name = "abcde" }; Console.WriteLine(item.Num); } }

Результат выполнения кода:

5

Пример

Давайте положим анонимный объект в массив:

using System; class Program { static void Main() { var arr = new[] { new { Num = 1, Name = "abcde" }, new { Num = 2, Name = "12345" } }; Console.WriteLine(arr[1].Num); } }

Результат выполнения кода:

2

Пример

Давайте сравним два анонимных объекта с теми же полями:

using System; class Program { static void Main() { var a = new { Num = 5, Name = "abcde" }; var b = new { Num = 5, Name = "abcde" }; Console.WriteLine(a.Equals(b)); } }

Результат выполнения кода:

True

Смотрите также

  • тип tuple,
    который тоже группирует несколько значений
  • тип dynamic,
    которым читают свойства без compile-time
  • тип object,
    к которому можно привести ссылку
  • метод Equals,
    который сравнивает анонимные экземпляры
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить