OpCodes.Ldelem_I2 Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 na index parte superior da pilha como um int32 . |
O comportamento de transição da pilha, em ordem sequencial, é:
Uma referência
array
de objeto é enviada por push para a pilha.Um valor
index
de índice é enviado por push para a pilha.index
earray
são gerados da pilha; o valor armazenado na posiçãoindex
emarray
é pesquisado.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: