Compartilhar via


OpCodes.Ldelem_I Campo

Definição

Carrega o elemento com o tipo native int em um índice de matriz especificado para o topo da pilha de avaliação como um native int.

public: static initonly System::Reflection::Emit::OpCode Ldelem_I;
public static readonly System.Reflection.Emit.OpCode Ldelem_I;
 staticval mutable Ldelem_I : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelem_I As OpCode 

Valor do campo

Comentários

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

Formatar Formato de assembly Descrição
97 ldelem.i Carrega o elemento com o tipo native int em na index parte superior da pilha como um native int.

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

  1. Uma referência array de objeto é enviada por push para a pilha.

  2. Um valor index de índice é enviado por push para a pilha.

  3. index e array são exibidos da pilha; o valor armazenado na posição index em array é pesquisado.

  4. O valor é enviado por push para a pilha.

A ldelem.i instrução carrega o valor do elemento com índice index (tipo native int) na matriz array unidimensional baseada em zero e o coloca na parte superior da pilha. Matrizes são objetos e, portanto, representados por um valor do tipo O.

O valor retornado para ldelem.i é native int.

Observe que os valores inteiros de menos de 4 bytes são estendidos para int32 (não native int) quando são carregados na pilha de avaliação.

NullReferenceException será gerado se array for uma referência nula.

ArrayTypeMismatchException será gerado se array não armazenar elementos do tipo necessário.

IndexOutOfRangeException será gerado se index for negativo ou maior que o limite de array.

A sobrecarga do método Emit a seguir pode usar o ldelem.i opcode:

Aplica-se a