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 Microsoft MSIL-Assemblyformat (Intermediate Language) der Anweisung zusammen mit einer kurzen Referenzzusammenfassung aufgeführt:

Format Assemblyformat Description
FE 0C <unsigned int16> -1 index Lädt die lokale Variable am Index index auf stapelweise.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Der lokale Variablenwert am angegebenen Index wird auf den Stapel verschoben.

Die ldloc Anweisung verschiebt den Inhalt der lokalen Variablennummer am übergebenen Index an den Auswertungsstapel, wobei die lokalen Variablen 0 weiter nummeriert werden. Lokale Variablen werden vor dem Eingeben der Methode auf 0 initialisiert, wenn das Flag für die Methode initialisiert wird. 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 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 ldloc.0Anweisungen , ldloc.1, ldloc.2und ldloc.3 Anweisungen bieten eine effiziente Codierung für den Zugriff auf die ersten vier lokalen Variablen.

Der Typ des Werts entspricht dem Typ der lokalen Variablen, die im Methodenheader angegeben wird. Siehe Partition I. Lokale Variablen, die kleiner als 4 Byte sind, werden erweitert, um den Typ einzugeben int32 , wenn sie in den Stapel geladen werden. Gleitkommawerte werden auf ihre systemeigene Größe (Typ F) erweitert.

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

Gilt für: