OpCodes.Newarr Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 di assembly Esadecimale e MSIL (Microsoft Intermediate Language), insieme a un breve riepilogo dei riferimenti:
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, è:
Il numero di elementi nella matrice viene inserito nello stack.
Il numero di elementi viene estratto dallo stack e viene creata la matrice.
Un riferimento all'oggetto alla nuova matrice viene inserito nello stack.
L'istruzione newarr
inserisce un riferimento all'oggetto (tipo O
) in una nuova matrice unidimensionale in base zero i cui elementi sono di tipo etype
(un token di metadati che descrive il tipo). 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 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 su 0 del tipo appropriato.
Le matrici unidimensionali e le matrici multidimensionali non basate su zero vengono create usando Newobj anziché newarr
. In genere, vengono creati usando i metodi della Array classe in .NET Framework.
OutOfMemoryException viene generata se la memoria non è sufficiente per soddisfare la richiesta.
OverflowException viene generata se numElems
è minore di 0.
L'overload del metodo seguente Emit può usare il newarr
codice operativo: