Bagikan melalui


OpCodes.Stelem_Ref Bidang

Definisi

Mengganti elemen array pada indeks tertentu dengan nilai ref objek (jenis O) pada tumpukan evaluasi.

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 

Nilai Bidang

Keterangan

Tabel berikut mencantumkan format rakitan heksadesimal dan Microsoft Intermediate Language (MSIL) instruksi, bersama dengan ringkasan referensi singkat:

Format Format Rakitan Deskripsi
A2 stelem.ref Mengganti elemen array pada indeks yang disediakan dengan ref nilai (jenis O) pada tumpukan.

Perilaku transisi tumpukan, dalam urutan berurutan, adalah:

  1. Referensi objek ke array, array, didorong ke tumpukan.

  2. Indeks yang valid ke elemen di array didorong ke tumpukan.

  3. Nilai didorong ke tumpukan.

  4. Nilai, indeks, dan referensi array muncul dari tumpukan; nilai dimasukkan ke dalam elemen array pada indeks yang diberikan.

stelem.ref Instruksi menggantikan nilai elemen pada indeks yang disediakan dalam array array satu dimensi dengan ref nilai (jenis O) yang didorong ke tumpukan.

Array adalah objek dan karenanya diwakili oleh nilai jenis O. Indeks adalah jenis native int.

Perhatikan bahwa stelem.ref secara implisit melemparkan nilai yang disediakan ke jenis array elemen sebelum menetapkan nilai ke elemen array. Transmisi ini dapat gagal, bahkan untuk kode terverifikasi. stelem.ref Dengan demikian instruksi dapat melemparkan InvalidCastException. Untuk array satu dimensi yang tidak berbasis nol dan untuk array multidimensi, Array kelas menyediakan SetValue metode .

NullReferenceException dilemparkan jika array merupakan referensi null.

IndexOutOfRangeException dilemparkan jika index negatif, atau lebih besar dari batas array.

ArrayTypeMismatchException dilemparkan jika array tidak menyimpan elemen dari jenis yang diperlukan.

Metode berikut Emit kelebihan beban dapat menggunakan stelem.ref opcode:

Berlaku untuk