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
Значение поля
Комментарии
В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки msil, а также краткий обзор:
Формат | Формат сборки | Описание |
---|---|---|
8F <T > |
ldelema class |
Загружает адрес элемента массива в index верхней части стека вычислений в качестве типа & (управляемый указатель). |
Переходный режим стека в последовательном порядке:
Ссылка на
array
объект передается в стек.Значение
index
индекса передается в стек.index
иarray
извлекаются из стека; выполняется поиск адреса, хранящегося в позицииindex
вarray
.Адрес помещается в стек.
ldelema
Используется для получения адреса объекта по определенному индексу в массиве объектов (типа class
). Инструкция ldelema
загружает адрес значения по индексу index
(тип native int
) в отсчитываемом от нуля одномерном массиве array
и помещает его в верхнюю часть стека. Массивы являются объектами и, следовательно, представлены значением типа O
. Значение должно быть типа class
, передаваемого вместе с инструкцией.
Возвращаемое значение для ldelema
является управляемым указателем (тип &
).
Обратите внимание, что целочисленные значения размером менее 4 байт расширяются до int32
(не native int
) при загрузке в стек вычислений.
NullReferenceException возникает, если array
является пустой ссылкой.
ArrayTypeMismatchException возникает, если array
не содержит элементы требуемого типа.
IndexOutOfRangeException возникает, если index
имеет отрицательное значение или больше границы array
.
Следующая Emit перегрузка ldelema
метода может использовать код операции: