OpCodes.Newarr Поле

Определение

Помещает в стек вычислений ссылку на объект — новый одномерный массив с индексацией от нуля, состоящий из элементов заданного типа.

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

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

Комментарии

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

Формат Формат сборки Описание
8D <T> newarr etype Создает новый массив с элементами типа etype.

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

  1. Количество элементов в массиве помещается в стек.

  2. Количество элементов, извлекаемых из стека, и создается массив.

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

Инструкция newarr отправляет ссылку на объект (тип O) в новый одномерный массив с нуля, элементы которого имеют тип etype (маркер метаданных, описывающий тип). Количество элементов в новом массиве должно быть указано как native int. Допустимые индексы массива варьируются от нуля до максимального числа элементов минус один.

Элементы массива могут быть любого типа, включая типы значений.

Отсчитываемые от нуля одномерные массивы чисел создаются с помощью маркера метаданных, ссылающегося на соответствующий тип значения (Int32и т. д.). Элементы массива инициализируются значением 0 соответствующего типа.

Ненулевое одномерные массивы и многомерные массивы создаются с помощью Newobj , а не newarr. Чаще всего они создаются с помощью методов Array класса в платформа .NET Framework.

OutOfMemoryException возникает, если недостаточно памяти для удовлетворения запроса.

OverflowException возникает, если numElems меньше 0.

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

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