Teilen über


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

Hinweise

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

Format Assemblyformat BESCHREIBUNG
92 ldelem.i2 Lädt das -Element mit dem Typ int16 auf index am anfang des Stapels int32als .

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Ein Objektverweis array wird auf den Stapel gepusht.

  2. Ein Indexwert index wird in den Stapel gepusht.

  3. index und array werden aus dem Stapel abgerufen. Der an position index in array gespeicherte Wert wird nachgeschlagen.

  4. Der Wert wird auf den Stapel gepusht.

Die ldelem.i2 Anweisung lädt den Wert des Elements mit index index (Typ native int) in das nullbasierte eindimensionale Array array und platziert ihn oben im Stapel. Arrays sind Objekte und werden daher durch einen Wert vom Typ Odargestellt.

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

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

NullReferenceException wird ausgelöst, wenn array ein NULL-Verweis ist.

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

IndexOutOfRangeException wird ausgelöst, wenn index negativ oder größer als der Grenzwert von arrayist.

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

Gilt für: