OpCodes.Stelem_Ref Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Sostituisce l'elemento della matrice in corrispondenza di un determinato indice con il valore di riferimento dell'oggetto (tipo O) nello stack di valutazione.
public: static initonly System::Reflection::Emit::OpCode Stelem_Ref;
public static readonly System.Reflection.Emit.OpCode Stelem_Ref;
staticval mutable Stelem_Ref : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stelem_Ref 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 |
|---|---|---|
| A2 | stelem.ref | Sostituisce un elemento matrice in corrispondenza dell'indice fornito con il ref valore (tipo O) nello stack. |
Il comportamento transitorio dello stack, in ordine sequenziale, è:
Un riferimento all'oggetto a una matrice,
array, viene inserito nello stack.Viene eseguito il push di un indice valido per un elemento in
arraynello stack.Viene eseguito il push di un valore nello stack.
Il valore, l'indice e il riferimento alla matrice vengono prelevati dallo stack; il valore viene inserito nell'elemento della matrice in corrispondenza dell'indice specificato.
L'istruzione stelem.ref sostituisce il valore dell'elemento in corrispondenza dell'indice fornito nella matrice array unidimensionale con il ref valore (tipo O) inserito nello stack.
Le matrici sono oggetti e quindi rappresentati da un valore di tipo O. L'indice è di tipo native int.
Si noti che stelem.ref esegue il cast implicito del valore fornito al tipo di elemento di prima di array assegnare il valore all'elemento della matrice. Questo cast può avere esito negativo, anche per il codice verificato. Pertanto, l'istruzione stelem.ref può generare InvalidCastException. Per le matrici unidimensionali che non sono basate su zero e per le matrici multidimensionali, la Array classe fornisce un SetValue metodo.
NullReferenceException viene generata se array è un riferimento Null.
IndexOutOfRangeException viene generata se index è negativo o maggiore del limite di array.
ArrayTypeMismatchException viene generata se array non contiene elementi del tipo richiesto.
L'overload del metodo seguente Emit può usare il stelem.ref codice operativo: