OpCodes.Ldelem_I Campo

Definição

Carrega o elemento com o tipo native int em um índice de matriz especificado na parte superior 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 Microsoft linguagem intermediária (MSIL) da instrução, juntamente com um breve resumo de referência:

Formato Formato de assembly Description
97 ldelem.i Carrega o elemento com o tipo native int 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 gerados da pilha; o valor armazenado na posição index é 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, representadas por um valor do tipo O.

O valor retornado é ldelem.inative int.

Observe que 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 é gerado se array não contém elementos do tipo necessário.

IndexOutOfRangeException é 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