2009-09-06 3 views

ответ

17

В стеке оценки нет представления булевого значения. Bool, char, byte, ushort, uint и их подписанные варианты представлены как 4-байтовое целое число со знаком (i4).

Правда:

ldc.i4.1 

Ложные:

ldc.i4.0 
+0

Если все представлено в виде 4-байтового целого числа, есть преимущества памяти, чтобы использовать байты вместо USHORT (например), если значения не превышать максимальное значение байта? – Hybris95

+0

@ Hybris95 Оценочный стек не совпадает с полями объекта. Поля (особенно в структуре) и элементы массивов могут быть более плотно упакованы для сохранения памяти. –