Поделиться через


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

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