OpCodes.Ldelem_I2 Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Загружает элемент с типом int16 по указанному индексу массива в верхней части стека оценки в виде int32.
public: static initonly System::Reflection::Emit::OpCode Ldelem_I2;
public static readonly System.Reflection.Emit.OpCode Ldelem_I2;
staticval mutable Ldelem_I2 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelem_I2 As OpCode
Значение поля
Комментарии
В следующей таблице перечислены шестнадцатеричные и шестнадцатеричные и Microsoft формат сборки промежуточного языка (MSIL) инструкции, а также краткая сводка по ссылке:
| Формат | Формат сборки | Description |
|---|---|---|
| 92 | ldelem.i2 | Загружает элемент с типом int16 в index верхней части стека в качестве int32элемента. |
Переходное поведение стека в последовательном порядке:
Ссылка на
arrayобъект отправляется в стек.Значение
indexиндекса передается в стек.indexиarrayвыскочил из стека; значение, хранящееся в позицииindexвarray, ищется.Значение передается в стек.
Инструкция ldelem.i2 загружает значение элемента с индексом index (типом native int) в одномерном массиве array с нуля и помещает его в верхнюю часть стека. Массивы представляют собой объекты и, следовательно, представленные значением типа O.
Возвращаемое значение ldelem.i2 равно int16.
Обратите внимание, что целые значения менее 4 байтов расширяются ( int32 не native int) при загрузке в стек вычислений.
NullReferenceException вызывается, если array является пустой ссылкой.
ArrayTypeMismatchException создается, если array элементы требуемого типа не содержатся.
IndexOutOfRangeException вызывается, если index отрицательное значение или больше границы array.
Следующая Emit перегрузка метода может использовать ldelem.i2 код opcode: