OpCodes.Newarr Fält
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Push-överför en objektreferens till en ny nollbaserad, endimensionell matris vars element är av en specifik typ till utvärderingsstacken.
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
Fältvärde
Kommentarer
I följande tabell visas instruktionens sammansättningsformat för hexadecimalt och Microsoft mellanliggande språk (MSIL), tillsammans med en kort referenssammanfattning:
| Format | Sammansättningsformat | Description |
|---|---|---|
8D <T> |
newarr etype |
Skapar en ny matris med element av typen etype. |
Stackens övergångsbeteende i sekventiell ordning är:
Antalet element i matrisen skickas till stacken.
Antalet element poppas från stacken och matrisen skapas.
En objektreferens till den nya matrisen skickas till stacken.
Instruktionen newarr skickar en objektreferens (typ O) till en ny nollbaserad, endimensionell matris vars element är av typen etype (en metadatatoken som beskriver typen). Antalet element i den nya matrisen ska anges som en native int. Giltiga matrisindex sträcker sig från noll till det maximala antalet element minus ett.
Elementen i en matris kan vara valfri typ, inklusive värdetyper.
Nollbaserade endimensionella matriser med tal skapas med hjälp av en metadatatoken som refererar till lämplig värdetyp (Int32och så vidare). Element i matrisen initieras till 0 av lämplig typ.
Icke-zerobaserade endimensionella matriser och flerdimensionella matriser skapas med i Newobj stället newarrför . Vanligare är att de skapas med hjälp av metoderna i klassen Array i .NET Framework.
OutOfMemoryException genereras om det inte finns tillräckligt med minne för att uppfylla begäran.
OverflowException utlöses om numElems är mindre än 0.
Följande Emit metodöverlagring kan använda newarr opcode: