Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

OpCodes.Newarr-Feld

Legt einen Objektverweis auf ein neues nullbasiertes, eindimensionales Array auf dem Auswertungsstapel ab, dessen Elemente einen bestimmten Typ aufweisen.

Namespace:  System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)
public static readonly OpCode Newarr

In der folgenden Tabelle werden das hexadezimale und das Assemblyformat der MSIL (Microsoft Intermediate Language) jeweils mit einer Kurzreferenz aufgeführt:

Format

Assemblyformat

Description

8D < T >

newarr etype

Erstellt ein neues Array mit Elementen vom Typ etype.

Im Stapel laufen die folgenden Aktionen in der angegebenen Reihenfolge ab:

  1. Die Anzahl der Elemente im Array wird auf dem Stapel abgelegt.

  2. Die Anzahl der Elemente wird vom Stapel geholt, und das Array wird erstellt.

  3. Ein Objektverweis auf das neue Array wird auf dem Stapel abgelegt.

Die newarr-Anweisung legt einen Objektverweis (Typ O) in einem neuen nullbasierten, eindimensionalen Array ab, dessen Elemente vom Typ etype sind (ein Metadatentoken, das den Typ beschreibt). Die Anzahl der Elemente im neuen Array muss als native int angegeben werden. Der Bereich gültiger Arrayindizes erstreckt sich von 0 bis zur Höchstanzahl von Elementen minus 1.

Die Elemente in einem Array können von einem beliebigen Typ sein (einschließlich Werttypen).

Nullbasierte, eindimensionale Arrays von Zahlen werden mithilfe eines Metadatentokens erstellt, das auf den entsprechenden Werttyp verweist (Int32 usw.). Elemente des Arrays werden mit dem Wert 0 des entsprechenden Typs initialisiert.

Eindimensionale Arrays, die nicht nullbasiert sind, und mehrdimensionale Arrays werden mithilfe von Newobj anstelle von newarr erstellt. Üblicherweise werden sie jedoch mit den Methoden der Array-Klasse in .NET Framework erstellt.

OutOfMemoryException wird ausgelöst, wenn für die Verarbeitung der Anforderung nicht genügend Speicher vorhanden ist.

Wenn numElems kleiner als 0 ist, wird OverflowException ausgelöst.

Die folgende Überladung der Emit-Methode verwendet den newarr-Opcode:

  • ILGenerator.Emit(OpCode, Type)

.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

.NET für Windows Store-Apps

Unterstützt in: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
© 2013 Microsoft. Alle Rechte vorbehalten.