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