OpCodes.Ldelema Поле

Определение

Загружает адрес элемента массива по указанному индексу массива в верхней части стека оценки в виде типа & (управляемый указатель).

public: static initonly System::Reflection::Emit::OpCode Ldelema;
public static readonly System.Reflection.Emit.OpCode Ldelema;
 staticval mutable Ldelema : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelema As OpCode 

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

Комментарии

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

Формат Формат сборки Description
8F <T> ldelema class Загружает адрес элемента массива в index верхней части стека оценки в виде типа & (управляемый указатель).

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

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

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

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

  4. Адрес передается в стек.

Используется ldelema для извлечения адреса объекта по определенному индексу в массиве объектов (типа class). Инструкция ldelema загружает адрес значения по индексу index (типу native int) в одномерном массиве array с нуля и помещает его в верхнюю часть стека. Массивы представляют собой объекты и, следовательно, представленные значением типа O. Значение должно быть типом class , переданным с помощью инструкции.

Возвращаемое значение ldelema — это управляемый указатель (тип &).

Обратите внимание, что целые значения менее 4 байтов расширяются ( int32 не native int) при загрузке в стек вычислений.

NullReferenceException вызывается, если array является пустой ссылкой.

ArrayTypeMismatchException создается, если array элементы требуемого типа не содержатся.

IndexOutOfRangeException вызывается, если index отрицательное значение или больше границы array.

Следующая Emit перегрузка метода может использовать ldelema код opcode:

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