Таким образом, любой экземпляр этой структуры в классе или в стеке будет занимать 1 байт, точно так же, как экземпляр System.Byte или System.SByte
Ответ 2
Структура С# без полей по-прежнему имеет размер 1. Причина в том, что компилятор должен иметь возможность принимать адрес структуры с помощью оператора & в небезопасном коде.
Я ожидал бы, что ваш тип структуры будет обрабатываться точно так же, как тип byte.
Ответ 3
Я думаю, что это распределение стека, что соответствует тому, как работают не ссылочные типы.
Ответ 4
Если вы используете idlasm.exe для изучения il, в строке, в которой вы создаете экземпляр структуры Empty, вы увидите: