OpCodes.Ldelem_I2 Feld

Definition

Lädt das Element mit dem Typ int16 an einem angegebenen Arrayindex als int32 an die oberste Position des Auswertungsstapels.

public: static initonly System::Reflection::Emit::OpCode Ldelem_I2;
public static readonly System.Reflection.Emit.OpCode Ldelem_I2;
 staticval mutable Ldelem_I2 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelem_I2 As OpCode 

Feldwert

OpCode

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und das MSIL-Assemblyformat der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
92 ldelem.i2 Lädt das Element mit Typ int16 index am oberen Rand des Stapels als .int32

Das Stapelübergangsverhalten in sequenzieller Reihenfolge lautet:

  1. Ein Objektverweis array wird auf den Stapel verschoben.

  2. Ein Indexwert index wird auf den Stapel verschoben.

  3. index und array werden aus dem Stapel eingetaucht. Der in der Position index array gespeicherte Wert wird nachschlagen.

  4. Der Wert wird auf den Stapel verschoben.

Die ldelem.i2 Anweisung lädt den Wert des Elements mit Index index (Typ native int) im nullbasierten eindimensionalen Array array und platziert es oben im Stapel. Arrays sind Objekte und somit durch einen Wert vom Typ Odargestellt.

Der Rückgabewert für ldelem.i2 diesen Wert ist int16.

Beachten Sie, dass ganze Werte von weniger als 4 Bytes auf (nicht native int) erweitert int32 werden, wenn sie auf den Auswertungsstapel geladen werden.

NullReferenceException wird ausgelöst, wenn array es sich um einen Nullverweis handelt.

ArrayTypeMismatchException wird ausgelöst, wenn array keine Elemente des erforderlichen Typs enthalten sind.

IndexOutOfRangeException wird ausgelöst, wenn index es negativ ist oder größer als die Grenze von array.

Die folgende Emit Methodenüberladung kann den ldelem.i2 Opcode verwenden:

Gilt für