OpCodes.Stloc Campo

Definição

Extrai o valor atual do topo da pilha de avaliação e armazena-o na lista local de variáveis num índice especificado.

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 

Valor de Campo

Observações

A tabela seguinte lista o formato hexadecimal e assembly da Microsoft Intermediate Language (MSIL) da instrução, juntamente com um breve resumo de referência:

Formato Formato de Montagem Descrição
FE 0E <unsigned int16> stloc index Extrai um valor da pilha e armazena-o na variável indexlocal .

O comportamento de transição da pilha, por ordem sequencial, é:

  1. Um valor é retirado da pilha e colocado na variável indexlocal .

A stloc instrução retira o valor superior da pilha de avaliação e move-o para o número indexlocal da variável , onde as variáveis locais são numeradas a partir de 0. O tipo do valor deve corresponder ao tipo da variável local, conforme especificado na assinatura local do método atual.

Armazenar em locais que contêm um valor inteiro menor que 4 bytes trunca o valor à medida que este se move da pilha para a variável local. Os valores de ponto flutuante são arredondados do seu tamanho nativo (tipo F) para o tamanho associado ao argumento.

Instruções corretas Microsoft Intermediate Language (MSIL) exigem que index seja um índice local válido. Para a stloc instrução, index deve situar-se no intervalo de 0 a 65534 inclusive (especificamente, 65535 não é válido). A razão para excluir o 65535 é pragmática: as implementações prováveis usarão um inteiro de 2 bytes para acompanhar tanto o índice de um local, bem como o número total de locais para um dado método. Se um índice de 65535 tivesse sido validado, seria necessário um número inteiro mais amplo para acompanhar o número de locais nesse método.

As seguintes Emit sobrecargas de métodos podem usar o stloc opcode:

Aplica-se a