OpCodes.Newarr Campo

Definição

Empurra uma referência de objeto para um novo array unidimensional, baseado em zero, cujos elementos são de um tipo específico para a pilha de avaliação.

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

Observações

A tabela seguinte lista o formato hexadecimal e assembly da Microsoft Intermediate Language (MSIL) da instrução, juntamente com um breve resumo de referência:

Formato Formato de Montagem Descrição
8D <T> Newarr etype Cria um novo array com elementos do tipo etype.

O comportamento de transição da pilha, por ordem sequencial, é:

  1. O número de elementos no array é empurrado para a pilha.

  2. O número de elementos é extraído da pilha e o array é criado.

  3. Uma referência de objeto para o novo array é empurrada para a pilha.

A newarr instrução envia uma referência de objeto (tipo O) para um novo array unidimensional baseado em zeros, cujos elementos são do tipo etype (um token de metadados que descreve o tipo). O número de elementos no novo array deve ser especificado como um native int. Os índices válidos dos arrays variam de zero até ao número máximo de elementos menos um.

Os elementos de um array podem ser de qualquer tipo, incluindo tipos de valores.

Arrays unidimensionais baseados em zero são criados usando um token de metadados que faz referência ao tipo de valor apropriado (Int32, e assim sucessivamente). Os elementos do array são inicializados a 0 do tipo apropriado.

Arranjos unidimensionais não nulos e matrizes multidimensionais são criados usando Newobj em vez de newarr. Mais frequentemente, são criados utilizando os métodos da classe Array no .NET Framework.

OutOfMemoryException é lançado se não houver memória suficiente para satisfazer o pedido.

OverflowException é lançado se numElems for inferior a 0.

O seguinte Emit método de sobrecarga pode usar o newarr opcode:

Aplica-se a