Udostępnij za pośrednictwem


OpCodes.Ldloc Pole

Definicja

Ładuje zmienną lokalną w określonym indeksie do stosu oceny.

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 

Wartość pola

Uwagi

W poniższej tabeli wymieniono format zestawu szesnastkowy instrukcji i microsoft intermediate language (MSIL) wraz z krótkim podsumowaniem referencyjnym:

Format Format zestawu Opis
FE 0C <unsigned int16> wyskok index Ładuje zmienną lokalną w indeksie index na stos.

Zachowanie przejściowe stosu w kolejności sekwencyjnej jest następujące:

  1. Wartość zmiennej lokalnej w określonym indeksie jest wypychana do stosu.

Instrukcja ldloc wypycha zawartość lokalnego numeru zmiennej do przekazanego indeksu do stosu oceny, gdzie zmienne lokalne są numerowane od 0. Zmienne lokalne są inicjowane na wartość 0 przed wprowadzeniem metody tylko wtedy, gdy flaga inicjowania w metodzie ma wartość true. Istnieje 65 535 (2^16-1) możliwe zmienne lokalne (0–65 534). Indeks 65 535 jest nieprawidłowy, ponieważ prawdopodobne implementacje będą używać liczby całkowitej 2-bajtowej do śledzenia zarówno indeksu lokalnego, jak i całkowitej liczby lokalnych dla danej metody. Jeśli indeks 65535 zostałby prawidłowy, wymagałoby to szerszej liczby całkowitej do śledzenia liczby lokalnych w takiej metodzie.

Instrukcje ldloc.0, ldloc.1, ldloc.2i ldloc.3 zapewniają wydajne kodowanie na potrzeby uzyskiwania dostępu do pierwszych czterech zmiennych lokalnych.

Typ wartości jest taki sam jak typ zmiennej lokalnej, która jest określona w nagłówku metody. Zobacz Partition I.Local variables that are smaller than 4 bytes long are expanded to type int32 when they are loaded to the stack . Wartości zmiennoprzecinkowe są rozszerzane do ich natywnego rozmiaru (typ F).

Emit Następujące przeciążenia metody mogą używać ldloc kodu opcode:

Dotyczy