Freigeben über


OpCodes.Stelem Feld

Definition

Ersetzt das Arrayelement am angegebenen Index durch den Wert im Auswertungsstapel, dessen Typ in der Anweisung angegeben ist.

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

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung zusammen mit einer kurzen Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
A4 <T> stelem typeTok Ersetzt das Arrayelement am angegebenen Index durch einen Wert vom Typ typeTok auf dem Stapel.

Das Stapelübergangsverhalten in sequenzieller Reihenfolge lautet:

  1. Ein Objektverweis auf ein Array wird arrayauf den Stapel übertragen.

  2. Ein Indexwert ( ) indexan ein Element in array wird auf den Stapel übertragen.

  3. Ein Wert des in der Anweisung angegebenen Typs wird auf den Stapel gepusht.

  4. Der Wert, der Index und der Arrayverweis werden aus dem Stapel geknallt. der Wert wird am angegebenen Index in das Arrayelement eingefügt.

Die stelem Anweisung ersetzt den Wert des Elements am angegebenen nullbasierten Index im eindimensionalen Array array durch den Wert. Der Wert weist den Typ auf, der durch das Token typeTok in der Anweisung angegeben wird.

Arrays sind Objekte und werden daher durch einen Wert vom Typ Odargestellt. Der Index ist vom Typ native int.

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

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

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

Die folgende Emit Methodenüberladung kann den stelem opcode verwenden:

Gilt für: