Freigeben über


OpCodes.Ldloc Feld

Definition

Lädt die lokale Variable an einem bestimmten Index in den Auswertungsstapel.

public: static initonly System::Reflection::Emit::OpCode Ldloc;
public static readonly System.Reflection.Emit.OpCode Ldloc;
 staticval mutable Ldloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldloc 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
FE 0C <unsigned int16> ldloc index Lädt die lokale Variable beim Index index auf den Stapel.

Das Stapelübergangsverhalten in sequenzieller Reihenfolge lautet:

  1. Der Wert der lokalen Variablen am angegebenen Index wird auf den Stapel gepusht.

Die ldloc Anweisung pusht den Inhalt der lokalen Variablennummer am übergebenen Index auf den Auswertungsstapel, wo die lokalen Variablen 0 weiter nummeriert werden. Lokale Variablen werden nur dann auf 0 initialisiert, wenn das Initialisierungsflag für die Methode true ist. Es sind 65.535 (2^16-1) lokale Variablen möglich (0-65.534). Index 65.535 ist ungültig, da wahrscheinliche Implementierungen eine 2-Byte-Ganzzahl verwenden, um sowohl den Index eines Lokalen als auch die Gesamtzahl der lokalen Werte für eine bestimmte Methode nachzuverfolgen. Wenn ein Index von 65535 gültig gemacht worden wäre, wäre eine breitere ganze Zahl erforderlich, um die Anzahl der lokalen Werte in einer solchen Methode nachzuverfolgen.

Die ldloc.0Anweisungen , ldloc.1, , ldloc.2und ldloc.3 bieten eine effiziente Codierung für den Zugriff auf die ersten vier lokalen Variablen.

Der Typ des Werts ist mit dem Typ der lokalen Variablen identisch, der im Methodenheader angegeben wird. Weitere Informationen finden Sie unter Partition I. Lokale Variablen, die kleiner als 4 Bytes lang sind, werden zum Typ int32 erweitert, wenn sie in den Stapel geladen werden. Gleitkommawerte werden auf ihre native Größe (Typ F) erweitert.

Die folgenden Emit Methodenüberladungen können den ldloc opcode verwenden:

Gilt für: