Анонимный тип
Анонимный тип создают выражением 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