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 em 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 exibidos 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 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: