OpCodes.Newarr Поле

Определение

Помещает в стек вычислений ссылку на объект — новый одномерный массив с индексацией от нуля, состоящий из элементов заданного типа.Pushes an object reference to a new zero-based, one-dimensional array whose elements are of a specific type onto the evaluation stack.

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 

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

OpCode

Комментарии

В следующей таблице приводится список шестнадцатеричных и форматных сборок инструкций языка MSIL, а также краткая сводка.The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

ФорматFormat Формат сборкиAssembly Format ОписаниеDescription
8D < T >8D < T > неварр etypenewarr etype Создает новый массив с элементами типа etype .Creates a new array with elements of type etype.

Переход в стек в последовательном порядке имеет следующие особенности:The stack transitional behavior, in sequential order, is:

  1. Число элементов в массиве помещается в стек.The number of elements in the array is pushed onto the stack.

  2. Число элементов извлекается из стека и создается массив.The number of elements is popped from the stack and the array is created.

  3. Ссылка на новый массив помещается в стек.An object reference to the new array is pushed onto the stack.

newarrИнструкция помещает ссылку на объект (тип O ) в новый одномерный массив, начинающийся с нуля, элементы которого имеют тип etype (маркер метаданных, описывающий тип).The newarr instruction pushes an object reference (type O) to a new zero-based, one-dimensional array whose elements are of type etype (a metadata token describing the type). Число элементов в новом массиве должно быть задано как native int .The number of elements in the new array should be specified as a native int. Допустимые индексы массива находятся в диапазоне от нуля до максимального числа элементов минус один.Valid array indexes range from zero to the maximum number of elements minus one.

Элементы массива могут быть любого типа, включая типы значений.The elements of an array can be any type, including value types.

Одномерные массивы чисел с индексацией от нуля создаются с помощью маркера метаданных, ссылающегося на соответствующий тип значения ( Int32 и т. д.).Zero-based, one-dimensional arrays of numbers are created using a metadata token referencing the appropriate value type (Int32, and so on). Элементы массива инициализируются значением 0 соответствующего типа.Elements of the array are initialized to 0 of the appropriate type.

Одномерные массивы с ненулевыми значениями и многомерные массивы создаются с помощью Newobj , а не newarr .Nonzero-based one-dimensional arrays and multidimensional arrays are created using Newobj rather than newarr. Чаще всего они создаются с помощью методов Array класса в .NET Framework.More commonly, they are created using the methods of the Array class in the .NET Framework.

OutOfMemoryException возникает, если недостаточно памяти для удовлетворения запроса.OutOfMemoryException is thrown if there is insufficient memory to satisfy the request.

OverflowException Если numElems значение меньше 0, возникает исключение.OverflowException is thrown if numElems is less than 0.

Следующая Emit перегрузка метода может использовать newarr код операции:The following Emit method overload can use the newarr opcode:

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