OpCodes.Ldelem_I Campo
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Carrega o elemento com tipo native int num índice de array especificado no topo da pilha de avaliação como um native int.
public: static initonly System::Reflection::Emit::OpCode Ldelem_I;
public static readonly System.Reflection.Emit.OpCode Ldelem_I;
staticval mutable Ldelem_I : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelem_I As OpCode
Valor de Campo
Observações
A tabela seguinte lista o formato hexadecimal e assembly da Microsoft Intermediate Language (MSIL) da instrução, juntamente com um breve resumo de referência:
| Formato | Formato de Montagem | Descrição |
|---|---|---|
| 97 | Delem.i | Carrega o elemento com tipo native int em index no topo da pilha como um native int. |
O comportamento de transição da pilha, por ordem sequencial, é:
Uma referência
arrayde objeto é empurrada para a pilha.Um valor
indexde índice é empurrado para a pilha.indexearraysão extraídos da pilha; o valor armazenado na posiçãoindexemarrayé consultado para cima.O valor é transferido para a pilha.
A ldelem.i instrução carrega o valor do elemento com índice index (tipo native int) no array array unidimensional baseado em zero e coloca-o no topo da pilha. Os arrays são objetos e, portanto, representados por um valor de tipo O.
O valor de retorno para ldelem.i é native int.
Note que valores inteiros inferiores a 4 bytes são estendidos para int32 (não native int) quando são carregados na pilha de avaliação.
NullReferenceException é lançado se array for uma referência nula.
ArrayTypeMismatchException é lançado se array não detiver elementos do tipo requerido.
IndexOutOfRangeException é lançado se index for negativo, ou maior do que o limite de array.
O seguinte Emit método de sobrecarga pode usar o ldelem.i opcode: