OpCodes.Newarr Campo

Definición

Inserta en la pila de evaluación una referencia de objeto a una nueva matriz unidimensional de base cero cuyos elementos son de un tipo específico.

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 

Valor de campo

Comentarios

En la tabla siguiente se muestra el formato de ensamblado hexadecimal y lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:

Formato Formato de ensamblado Descripción
8D <T> newarr etype Crea una nueva matriz con elementos de tipo etype.

El comportamiento de transición de pila, en orden secuencial, es:

  1. El número de elementos de la matriz se inserta en la pila.

  2. El número de elementos se extrae de la pila y se crea la matriz.

  3. Una referencia de objeto a la nueva matriz se inserta en la pila.

La newarr instrucción inserta una referencia de objeto (tipo O) a una nueva matriz unidimensional basada en cero cuyos elementos son de tipo etype (un token de metadatos que describe el tipo). El número de elementos de la nueva matriz debe especificarse como .native int Los índices de matriz válidos oscilan entre cero y el número máximo de elementos menos uno.

Los elementos de una matriz pueden ser cualquier tipo, incluidos los tipos de valor.

Las matrices unidimensionales de números basadas en cero se crean mediante un token de metadatos que hace referencia al tipo de valor adecuado (Int32, etc.). Los elementos de la matriz se inicializan en 0 del tipo adecuado.

Las matrices unidimensionales basadas en cero y las matrices multidimensionales se crean mediante Newobj en lugar de newarr. Normalmente, se crean mediante los métodos de la Array clase en .NET Framework.

OutOfMemoryException se produce si no hay memoria suficiente para satisfacer la solicitud.

OverflowException se produce si numElems es menor que 0.

La sobrecarga del método siguiente Emit puede usar el newarr código de operación:

Se aplica a