Найти в Дзене
.Net Review

Анонимные типы в C#. Для чего? Когда использовать?

Оглавление

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

Для чего нужны и когда использовать?

Иногда возникает ситуация, когда необходимо работать с каким-нибудь классом в одном месте. Для того, чтобы не реализовывать/описывать его существуют анонимные типы. Реализация его происходит на месте, т.е. где это необходимо. Наиболее частый пример - формирование тела запроса в специфическом виде (который имеет видоизмененные названия переменных и т.д.) и конвертации в JSON/XML.

Как работают?

В CLR подобно инициализации класса, инициализируются анонимные типы. Они, как и классы являются ссылочным типом. CLR дает такому типу специфическое имя и если после попадаются такие же анонимные типы, то они будут относится к одному типу в CLR. Все анонимные типы исключительно readonly. Это значит, что после инициализации изменить данные не получится.

Пример

Как и на главной картинке можно определять не только анонимный тип но и анонимные массивы.

-2

Синтаксис анонимных типов: new { fieldName = value }. Важно, если мы создаем массив анонимных типов, то их поля должны быть одинаковы во всех элементах. Результат:

-3

К использованию рекомендуется, т.к. это намного удобнее чем реализовывать отдельный класс, если необходимо использовать его в одном месте.

Телеграмм канал: https://t.me/dotnetreview