OpCodes.Stelem_Ref 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以在評估堆疊上的物件參考值 (型別 O
) 來取代在指定索引的陣列元素。
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
欄位值
備註
下表列出指令的十六進位和 Microsoft 中繼語言 (MSIL) 元件格式,以及簡短的參考摘要:
格式 | 元件格式 | Description |
---|---|---|
A2 | stelem.ref | 將所提供索引上的陣列元素取代為 ref 堆疊上 (類型 O ) 的值。 |
堆疊轉換行為依循序順序為:
數位的
array
物件參考會推送至堆疊。中
array
元素的有效索引會推送至堆疊。值會推送至堆疊。
值、索引和陣列參考會從堆疊中彈出;值會放入指定索引處的陣列元素中。
指令 stelem.ref
會將一維陣列 array
ref
中提供索引處的專案值取代為推送至堆疊的 (類型 O
) 值。
數位是物件,因此由類型的 O
值表示。 索引的類型為 native int
。
請注意,在將值指派給陣列元素之前, stelem.ref
隱含地將所提供的值轉換成的元素類型 array
。 即使已驗證的程式代碼,此轉換仍可能會失敗。 因此, stelem.ref
指令可以擲回 InvalidCastException。 對於不是以零為基底且針對多維度陣列的一維陣列,類別 Array 會提供 SetValue 方法。
NullReferenceException 如果 array
為 Null 參考,則會擲回 。
IndexOutOfRangeException 如果 index
為負數,或大於 的 array
系結,則會擲回 。
ArrayTypeMismatchException 如果 array
不儲存必要類型的專案,則會擲回 。
下列 Emit 方法多載可以使用 stelem.ref
opcode: