Добавить новость
Новое

DU на диете: Что не так с реализациями объединений в C#?

Habr.com
57

В жизни каждого программиста рано или поздно наступает момент, когда хочется вернуть из функции «либо то, либо это». Правильным языком это называется Discriminated Union (далее DU). Его суть проста: тип должен представлять одно значение из нескольких возможных (поэтому реализации называют «OneOf», т.е «один из»).

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

Одним из самых простых примеров без «но» является Си. Действительно, язык просто содержит ключевое слово union, которое позволяет на один участок памяти наложить типы. эта возможность просто комбинируется с enum или int тегом, чтобы различать, что мы записали. Проблема заключается в том, что по большей части никто ничего не гарантирует: программист сам обязан проверять каждый из вариантов и следить, чтобы случайно не создать невалидное состояние.

Читать далее
Moscow.media
Музыкальные новости

Новости России





Все новости на сегодня
Губернаторы России



Rss.plus

Другие новости




Все новости часа на smi24.net

Moscow.media
Ria.city
Новости Крыма на Sevpoisk.ru

Регионы