OpCodes.Newarr Feld

Definition

Legt einen Objektverweis auf ein neues nullbasiertes, eindimensionales Array auf dem Auswertungsstapel ab, dessen Elemente einen bestimmten Typ aufweisen.Pushes an object reference to a new zero-based, one-dimensional array whose elements are of a specific type onto the evaluation stack.

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 

Feldwert

OpCode

Hinweise

In der folgenden Tabelle werden das hexadezimale und das MSIL-AssemblyFormat (Microsoft Intermediate Language) zusammen mit einer kurzen Verweis Zusammenfassung aufgelistet:The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

FormatFormat AssemblyFormatAssembly Format BESCHREIBUNGDescription
8d < T >8D < T > netzerr etypenewarr etype Erstellt ein neues Array mit Elementen vom Typ etype .Creates a new array with elements of type etype.

Das Stapel Übergangs Verhalten ist in sequenzieller Reihenfolge:The stack transitional behavior, in sequential order, is:

  1. Die Anzahl der Elemente im Array wird auf dem Stapel abgelegt.The number of elements in the array is pushed onto the stack.

  2. Die Anzahl der Elemente wird aus dem Stapel entfernt, und das Array wird erstellt.The number of elements is popped from the stack and the array is created.

  3. Ein Objekt Verweis auf das neue Array wird auf dem Stapel abgelegt.An object reference to the new array is pushed onto the stack.

Die newarr Anweisung überträgt einen Objekt Verweis (Typ O ) auf ein neues NULL basiertes, eindimensionales Array, dessen Elemente vom Typ sind etype (ein Metadatentoken, das den Typ beschreibt).The newarr instruction pushes an object reference (type O) to a new zero-based, one-dimensional array whose elements are of type etype (a metadata token describing the type). Die Anzahl der Elemente im neuen Array muss als angegeben werden native int .The number of elements in the new array should be specified as a native int. Gültige Array Indizes reichen von Null bis zur maximalen Anzahl von Elementen minus 1.Valid array indexes range from zero to the maximum number of elements minus one.

Die Elemente eines Arrays können ein beliebiger Typ sein, einschließlich Werttypen.The elements of an array can be any type, including value types.

Null basierte, eindimensionale Arrays von Zahlen werden mithilfe eines Metadatentokens erstellt, das auf den entsprechenden Werttyp verweist ( Int32 usw.).Zero-based, one-dimensional arrays of numbers are created using a metadata token referencing the appropriate value type (Int32, and so on). Elemente des Arrays werden mit 0 des entsprechenden Typs initialisiert.Elements of the array are initialized to 0 of the appropriate type.

Nicht null basierte eindimensionale Arrays und mehrdimensionale Arrays werden mit anstelle von erstellt Newobj newarr .Nonzero-based one-dimensional arrays and multidimensional arrays are created using Newobj rather than newarr. Üblicherweise werden Sie mithilfe der Methoden der- Array Klasse in der .NET Framework erstellt.More commonly, they are created using the methods of the Array class in the .NET Framework.

OutOfMemoryException wird ausgelöst, wenn nicht genügend Arbeitsspeicher vorhanden ist, um die Anforderung zu erfüllen.OutOfMemoryException is thrown if there is insufficient memory to satisfy the request.

OverflowException wird ausgelöst, wenn numElems kleiner als 0 (null) ist.OverflowException is thrown if numElems is less than 0.

In der folgenden Emit Methoden Überladung kann der newarr Opcode verwendet werden:The following Emit method overload can use the newarr opcode:

Gilt für: