Condividi tramite


OpCodes.Ldelem_I8 Campo

Definizione

Carica l'elemento con tipo int64 in corrispondenza dell'indice di matrice specificato all'inizio dello stack di valutazione come int64.

public: static initonly System::Reflection::Emit::OpCode Ldelem_I8;
public static readonly System.Reflection.Emit.OpCode Ldelem_I8;
 staticval mutable Ldelem_I8 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelem_I8 As OpCode 

Valore del campo

Commenti

La tabella seguente elenca il formato dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), insieme a un breve riepilogo di riferimento:

Formato Formato assembly Descrizione
96 ldelem.i8 Carica l'elemento con tipo int64 nella index parte superiore dello stack come int64.

Il comportamento di transizione dello stack, in ordine sequenziale, è:

  1. Un riferimento array all'oggetto viene eseguito il push nello stack.

  2. Viene eseguito il push di un valore index di indice nello stack.

  3. index e array vengono visualizzati dallo stack. Il valore archiviato nella posizione index in array viene cercato.

  4. Il valore viene eseguito il push nello stack.

L'istruzione ldelem.i8 carica il valore dell'elemento con indice index (tipo native int) nella matrice array unidimensionale basata su zero e lo inserisce nella parte superiore dello stack. Le matrici sono oggetti e quindi rappresentati da un valore di tipo O.

Il valore restituito per ldelem.i8 è int64.

Si noti che i valori interi di meno di 4 byte vengono estesi a int32 (non native int) quando vengono caricati nello stack di valutazione.

NullReferenceException viene generato se array è un riferimento Null.

ArrayTypeMismatchException viene generato se array non contiene elementi del tipo richiesto.

IndexOutOfRangeException viene generato se index è negativo o maggiore del limite di array.

L'overload del metodo seguente Emit può usare il ldelem.i8 codice opcode:

Si applica a