OpCodes.Stloc 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.
Pops the current value from the top of the evaluation stack and stores it in the local variable list at a specified index.
public: static initonly System::Reflection::Emit::OpCode Stloc;
public static readonly System.Reflection.Emit.OpCode Stloc;
staticval mutable Stloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stloc As OpCode
Feldwert
Hinweise
In der folgenden Tabelle sind das Hexadezimal- und Microsoft MSIL-Assemblyformat (Intermediate Language) der Anweisung zusammen mit einer kurzen Referenzzusammenfassung aufgeführt:
| Format | Assemblyformat | Description |
|---|---|---|
FE 0E <unsigned int16> |
stloc index |
Pops a value from the stack and stores it in local variable index. |
Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:
- Ein Wert wird vom Stapel abgesetzt und in der lokalen Variablen
indexplatziert.
Die stloc Anweisung füllt den obersten Wert aus dem Auswertungsstapel und verschiebt ihn in die lokale Variablennummer index, wobei lokale Variablen 0 weiter nummeriert werden. Der Typ des Werts muss mit dem Typ der lokalen Variablen übereinstimmen, wie in der lokalen Signatur der aktuellen Methode angegeben.
Das Speichern in Lokalien, die einen ganzzahligen Wert enthalten, der kleiner als 4 Byte ist, schneidet den Wert ab, während er vom Stapel zur lokalen Variablen wechselt. Gleitkommawerte werden von ihrer systemeigenen Größe (Typ F) auf die größe gerundet, die dem Argument zugeordnet ist.
Korrekte Microsoft MSIL-Anweisungen (Intermediate Language) erfordern, dass index ein gültiger lokaler Index sein. Für die stloc Anweisung index muss der Bereich 0 bis einschließlich 65534 liegen (insbesondere 65535 ist ungültig). Der Grund für die Berücksichtigung von 65535 ist pragmatisch: Wahrscheinlich werden Implementierungen eine 2-Byte-Ganzzahl verwenden, um sowohl den Index eines lokalen Benutzers als auch die Gesamtanzahl der Lokalen für eine bestimmte Methode nachzuverfolgen. Wenn ein Index von 65535 gültig gemacht wurde, würde eine breitere ganze Zahl erforderlich sein, um die Anzahl der Lokalen in einer solchen Methode nachzuverfolgen.
Die folgenden Emit Methodenüberladungen können den stloc Opcode verwenden: