OpCodes.Ldelem_I2 Feld
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 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:
Ein Objektverweis
array
wird auf den Stapel verschoben.Ein Indexwert
index
wird auf den Stapel verschoben.index
undarray
werden aus dem Stapel eingetaucht. Der in der Positionindex
array
gespeicherte Wert wird nachschlagen.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 O
dargestellt.
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: