OpCodes.Ldelema 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 die Adresse des Arrayelements an einem angegebenen Arrayindex als Typ &
(verwalteter Zeiger) an die oberste Position des Auswertungsstapels.
public: static initonly System::Reflection::Emit::OpCode Ldelema;
public static readonly System.Reflection.Emit.OpCode Ldelema;
staticval mutable Ldelema : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelema 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 |
---|---|---|
8F <T > |
ldelema class |
Lädt die Adresse des Arrayelements am index anfang des Auswertungsstapels als Typ & (verwalteter Zeiger). |
Das Stapelübergangsverhalten in sequenzieller Reihenfolge lautet:
Ein Objektverweis
array
wird auf den Stapel gepusht.Ein Indexwert
index
wird auf den Stapel gepusht.index
undarray
werden aus dem Stapel geknallt. Die an positionindex
inarray
gespeicherte Adresse wird nachgeschlagen.Die Adresse wird auf den Stapel gepusht.
Wird ldelema
verwendet, um die Adresse eines Objekts an einem bestimmten Index in einem Array von Objekten (vom Typ class
) abzurufen. Die ldelema
Anweisung lädt die Adresse des Werts am Index index
(Typ native int
) in das nullbasierte eindimensionale Array array
und platziert sie am anfang des Stapels. Arrays sind Objekte und werden daher durch einen Wert vom Typ O
dargestellt. Der Wert muss vom Typ sein, class
der mit der -Anweisung übergeben wird.
Der Rückgabewert für ldelema
ist ein verwalteter Zeiger (Typ &
).
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 array
ist.
Die folgende Emit Methodenüberladung kann den ldelema
opcode verwenden: