Compartilhar via


OpCodes.Ldelema Campo

Definição

Carrega o endereço do elemento da matriz em um índice de matriz especificado no topo da pilha de avaliação como o tipo & (ponteiro gerenciado).

public: static initonly System::Reflection::Emit::OpCode Ldelema;
public static readonly System.Reflection.Emit.OpCode Ldelema;
 staticval mutable Ldelema : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelema 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
8F <T> Ldelema class Carrega o endereço do elemento de matriz na index parte superior da pilha de avaliação como tipo & (ponteiro gerenciado).

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 endereço armazenado na posição index em array é pesquisado.

  4. O endereço é enviado por push para a pilha.

O ldelema é usado para recuperar o endereço de um objeto em um índice específico em uma matriz de objetos (do tipo class). A ldelema instrução carrega o endereço do valor em index 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 deve ser do tipo class passado com a instrução .

O valor retornado para ldelema é um ponteiro gerenciado (tipo &).

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 ldelema opcode:

Aplica-se a