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

OpCode

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 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 gerados 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 de tipo O.

O valor retornado é ldelem.i2 int16.

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 é gerado se array for uma referência nula.

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

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

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

Aplica-se a