C# LanguageКак использовать C # Structs для создания типа Union (аналогично C Unions)


замечания

Типы Union используются на нескольких языках, особенно на C-языке, для хранения нескольких разных типов, которые могут «перекрываться» в одном и том же пространстве памяти. Другими словами, они могут содержать разные поля, все из которых начинаются с одного и того же смещения памяти, даже если они могут иметь разные длины и типы. Это имеет преимущество как для экономии памяти, так и для автоматического преобразования.

Обратите внимание на комментарии в конструкторе Struct. Порядок, в котором инициализируются поля, чрезвычайно важен. Вы хотите сначала инициализировать все остальные поля, а затем установить значение, которое вы намерены изменить в качестве последнего оператора. Поскольку поля перекрываются, последняя настройка значения - та, которая учитывается.

Как использовать C # Structs для создания типа Union (аналогично C Unions) Связанные примеры