Поделиться через


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 

Значение поля

Комментарии

В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки msil, а также краткий обзор:

Формат Формат сборки Описание
97 ldelem.i Загружает элемент с типом native int в index верхней части стека в виде native int.

Переходный режим стека в последовательном порядке:

  1. Ссылка на array объект передается в стек.

  2. Значение index индекса передается в стек.

  3. index и array извлекаются из стека; выполняется поиск значения, хранящегося в позиции index в array .

  4. Значение помещается в стек.

Инструкция 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 метода может использовать код операции:

Применяется к