Compartilhar via


OpCodes.Ldelem_I8 Campo

Definição

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

public: static initonly System::Reflection::Emit::OpCode Ldelem_I8;
public static readonly System.Reflection.Emit.OpCode Ldelem_I8;
 staticval mutable Ldelem_I8 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelem_I8 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
96 ldelem.i8 Carrega o elemento com o tipo int64 em na index parte superior da pilha como um int64.

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.i8 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 para ldelem.i8 é int64.

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.

Emit A seguinte sobrecarga de método pode usar o ldelem.i8 opcode:

Aplica-se a