OpCodes.Newarr Campo

Definizione

Inserisce un riferimento a un oggetto in una matrice unidimensionale in base zero i cui elementi sono di un tipo specifico nello stack di valutazione.

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 

Valore del campo

Commenti

La tabella seguente elenca il formato dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), insieme a un breve riepilogo di riferimento:

Formato Formato assembly Descrizione
8D <T> newarr etype Crea una nuova matrice con elementi di tipo etype.

Il comportamento di transizione dello stack, in ordine sequenziale, è:

  1. Il numero di elementi nella matrice viene eseguito il push nello stack.

  2. Il numero di elementi viene rimosso dallo stack e viene creata la matrice.

  3. Un riferimento all'oggetto alla nuova matrice viene eseguito il push nello stack.

L'istruzione newarr esegue il push di un riferimento a oggetti (tipo O) a una nuova matrice a base zero, unidimensionale i cui elementi sono di tipo (un token di metadati che descrive il tipo etype ). Il numero di elementi nella nuova matrice deve essere specificato come native int. Gli indici di matrice validi sono compresi tra zero e il numero massimo di elementi meno uno.

Gli elementi di una matrice possono essere qualsiasi tipo, inclusi i tipi di valore.

Vengono create matrici unidimensionali di numeri in base zero usando un token di metadati che fa riferimento al tipo di valore appropriato (Int32e così via). Gli elementi della matrice vengono inizializzati a 0 del tipo appropriato.

Le matrici unidimensionali e le matrici multidimensionali basate su newarrzero vengono create usando Newobj anziché . Più comunemente, vengono creati usando i metodi della Array classe in .NET Framework.

OutOfMemoryException viene generato se la memoria non è sufficiente per soddisfare la richiesta.

OverflowException viene generato se numElems è minore di 0.

L'overload del metodo seguente Emit può usare il newarr codice opcode:

Si applica a