OpCodes.Newarr Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Envia por push uma referência de objeto para uma nova matriz unidimensional baseada em zero, cujos elementos são de um tipo específico na 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 do campo
Comentários
A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:
Formatar | Formato de assembly | Descrição |
---|---|---|
8D <T > |
newarr etype |
Cria uma nova matriz com elementos do tipo etype . |
O comportamento de transição da pilha, em ordem sequencial, é:
O número de elementos na matriz é enviado por push para a pilha.
O número de elementos é gerado da pilha e a matriz é criada.
Uma referência de objeto à nova matriz é enviada por push para a pilha.
A newarr
instrução envia por push uma referência de objeto (tipo O
) para uma nova matriz unidimensional baseada em zero cujos elementos são do tipo etype
(um token de metadados que descreve o tipo). O número de elementos na nova matriz deve ser especificado como um native int
. Os índices de matriz válidos variam de zero ao número máximo de elementos menos um.
Os elementos de uma matriz podem ser qualquer tipo, incluindo tipos de valor.
Matrizes unidimensionais de números baseadas em zero são criadas usando um token de metadados que referencia o tipo de valor apropriado (Int32e assim por diante). Os elementos da matriz são inicializados como 0 do tipo apropriado.
Matrizes unidimensionais não baseadas em zero e matrizes multidimensionais são criadas usando Newobj em vez de newarr
. Mais comumente, eles são criados usando os métodos da Array classe no .NET Framework.
OutOfMemoryException será gerado se não houver memória suficiente para atender à solicitação.
OverflowException será gerado se numElems
for menor que 0.
A sobrecarga do método Emit a seguir pode usar o newarr
opcode: