OpCodes.Ldelema Campo

Definizione

Carica l'indirizzo dell'elemento matrice in corrispondenza di un indice di matrice specificato nella parte superiore dello stack di valutazione come tipo & (puntatore gestito).

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

Valore del campo

Commenti

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

Formato Formato assembly Description
8F <T> ldelema class Carica l'indirizzo dell'elemento della matrice nella index parte superiore dello stack di valutazione come tipo & (puntatore gestito).

Il comportamento transitorio dello stack, in ordine sequenziale, è:

  1. Viene eseguito il push di un riferimento array all'oggetto nello stack.

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

  3. index e array vengono estratte dallo stack; l'indirizzo archiviato nella posizione index in array viene cercato.

  4. L'indirizzo viene inserito nello stack.

Viene ldelema utilizzato per recuperare l'indirizzo di un oggetto in corrispondenza di un indice specifico in una matrice di oggetti (di tipo class). L'istruzione ldelema carica l'indirizzo del valore in corrispondenza dell'indice index (tipo native int) nella matrice array unidimensionale in base zero e lo inserisce nella parte superiore dello stack. Le matrici sono oggetti e quindi rappresentati da un valore di tipo O. Il valore deve essere di tipo class passato con l'istruzione .

Il valore restituito per ldelema è un puntatore gestito (tipo &).

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

NullReferenceException viene generata se array è un riferimento Null.

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

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

L'overload del metodo seguente Emit può usare il ldelema codice operativo:

Si applica a