C версии C# 3.0 был введен новый тип данных - dynamic. Что это, зачем он и когда использовать? Подробнее в этой статье.
Что такое тип dynamic?
Dynamic - динамический тип данных. Это такой тип данных, который не имеет привязанного типа и в любой момент может быть переопределен другим типом.
Зачем нужен? Когда использовать?
К примеру, вам необходимо выполнить разные реализации относительно типа данных переменной. Для сокращения кода можно использовать dynamic c операторами сравнения.
Но почему никто их не использует?
Есть большие минусы. Тип данных dynamic довольно ресурсозатратный. Чем сложнее у вас логика, тем сложнее отлаживать приложение. IntelliSence не имеет проверок для dynamic. Так как этот тип данных определяется в процессе работы приложения. Это значит, что необходимо уделять больше времени на проверку кода. Весь функционал типа вам придется писать самим, без помощи IntelliSence.
Пример
Пример использования dynamic.
Для разных типов данных можно сделать один метод, который будет обрабатывать их всех.
Результат выполнения.
Итог
Очень спорное решение использовать dynamic. Нужно всё взвесить для того, чтобы точно решить, нужен ли он вам. Если вы очень спешите, и вам срочно нужно сделать функционал, где необходимо преобразование на лету, то этот тип данных может быть решением. Иначе, лучше его не использовать. Лучше затратить больше времени и качественно реализовать функционал через обобщения или реализации отдельных методов.
Телеграмм канал: https://t.me/dotnetreview