OpCodes.Stelem_Ref Поле

Определение

Заменяет элемент массива в заданном индексе значением ссылок объекта (тип O) в стеке вычислений.

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

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

Комментарии

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

Формат Формат сборки Description
A2 stelem.ref Заменяет элемент массива в предоставленном индексе значением ref (типом O) в стеке.

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

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

  2. Допустимый индекс элемента в array стеке передается.

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

  4. Значение, индекс и ссылка на массив отображаются из стека; значение помещается в элемент массива по указанному индексу.

Инструкция stelem.ref заменяет значение элемента по указанному индексу в одномерном массиве arrayref значением (типом O), отправленным в стек.

Массивы представляют собой объекты и, следовательно, представленные значением типа O. Индекс имеет тип native int.

Обратите внимание, что stelem.ref неявно приведение заданного array значения к типу элемента перед назначением значения элементу массива. Этот приведение может завершиться ошибкой даже для проверенного кода. stelem.ref Таким образом, инструкция может вызвать.InvalidCastException Для одномерных массивов, которые не основаны на нулях и для многомерных массивов, Array класс предоставляет SetValue метод.

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

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

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

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

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