Compartilhar via


OpCodes.Ldelem_I2 Campo

Definição

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

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

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.i2 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.i2 é int16.

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.i2 opcode:

Aplica-se a