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