Bagikan melalui


OpCodes.Stloc Bidang

Definisi

Memunculkan nilai saat ini dari bagian atas tumpukan evaluasi dan menyimpannya di daftar variabel lokal pada indeks tertentu.

public: static initonly System::Reflection::Emit::OpCode Stloc;
public static readonly System.Reflection.Emit.OpCode Stloc;
 staticval mutable Stloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stloc 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
FE 0E <unsigned int16> stloc index Memunculkan nilai dari tumpukan dan menyimpannya dalam variabel indexlokal .

Perilaku transisi tumpukan, dalam urutan berurutan, adalah:

  1. Nilai muncul dari tumpukan dan ditempatkan dalam variabel indexlokal .

Instruksi memunculkan stloc nilai teratas dari tumpukan evaluasi dan memindahkannya ke nomor indexvariabel lokal , di mana variabel lokal diberi nomor 0 dan seterusnya. Jenis nilai harus cocok dengan jenis variabel lokal seperti yang ditentukan dalam tanda tangan lokal metode saat ini.

Menyimpan ke lokal yang menyimpan nilai bilangan bulat yang lebih kecil dari 4 byte panjang memotong nilai saat berpindah dari tumpukan ke variabel lokal. Nilai floating-point dibulatkan dari ukuran aslinya (jenis F) ke ukuran yang terkait dengan argumen .

Instruksi Microsoft Intermediate Language (MSIL) yang benar mengharuskan indeks lokal yang index valid. stloc Untuk instruksi, index harus terletak pada rentang 0 hingga 65534 inklusif (khususnya, 65535 tidak valid). Alasan untuk mengecualikan 65535 adalah pragmatis: kemungkinan implementasi akan menggunakan bilangan bulat 2-byte untuk melacak indeks lokal, serta jumlah total lokal untuk metode tertentu. Jika indeks 65535 telah dibuat valid, indeks akan memerlukan bilangan bulat yang lebih luas untuk melacak jumlah lokal dalam metode seperti itu.

Metode overload berikut Emit dapat menggunakan stloc opcode:

Berlaku untuk