OpCodes.Ldloc Fält

Definition

Läser in den lokala variabeln vid ett specifikt index till utvärderingsstacken.

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 

Fältvärde

Kommentarer

I följande tabell visas instruktionens sammansättningsformat för hexadecimalt och Microsoft mellanliggande språk (MSIL), tillsammans med en kort referenssammanfattning:

Format Sammansättningsformat Description
FE 0C <unsigned int16> ldloc index Läser in den lokala variabeln vid index index till stack.

Stackens övergångsbeteende i sekventiell ordning är:

  1. Det lokala variabelvärdet vid det angivna indexet skickas till stacken.

Instruktionen ldloc skickar innehållet i det lokala variabelnumret vid det skickade indexet till utvärderingsstacken, där de lokala variablerna numreras 0 och senare. Lokala variabler initieras till 0 innan metoden anges endast om initieringsflaggan för metoden är sann. Det finns 65 535 (2^16–1) lokala variabler (0–65 534). Index 65 535 är inte giltigt eftersom implementeringar sannolikt använder ett heltal på 2 byte för att spåra både ett lokalt index, tillsammans med det totala antalet lokala för en viss metod. Om ett index på 65535 hade gjorts giltigt skulle det kräva ett bredare heltal för att spåra antalet lokalbefolkningen i en sådan metod.

Anvisningarna ldloc.0, ldloc.1, ldloc.2och ldloc.3 ger en effektiv kodning för åtkomst till de första fyra lokala variablerna.

Värdets typ är samma som den typ av lokal variabel som anges i metodrubriken. Se Partition I. Lokala variabler som är mindre än 4 byte utökas till att skriva int32 när de läses in på stacken. Flyttalsvärden expanderas till sin ursprungliga storlek (typ F).

Följande Emit metodöverlagringar kan använda ldloc opcode:

Gäller för