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 

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

Комментарии

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

Формат Формат сборки Description
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 код opcode:

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