OpCodes.Ldind_R8 Bidang
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memuat nilai jenis float64
sebagai jenis F
(float) ke tumpukan evaluasi secara tidak langsung.
public: static initonly System::Reflection::Emit::OpCode Ldind_R8;
public static readonly System.Reflection.Emit.OpCode Ldind_R8;
staticval mutable Ldind_R8 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldind_R8 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 |
---|---|---|
4F | ldind.r8 |
float64 Memuat nilai pada alamat addr ke tumpukan sebagai jenis F . |
Perilaku transisi tumpukan, dalam urutan berurutan, adalah:
Alamat didorong ke tumpukan.
Alamat muncul dari tumpukan; nilai yang terletak di alamat diambil.
Nilai yang diambil didorong ke tumpukan.
ldind.r8
Instruksi secara tidak langsung memuat float64
nilai dari alamat yang ditentukan (dari jenis native int
, , &
atau *) ke tumpukan sebagai float64
.
ldind
Semua instruksi adalah pintasan untuk Ldobj instruksi yang menentukan kelas nilai bawaan yang sesuai.
Perhatikan bahwa nilai bilangan bulat kurang dari 4 byte diperluas ke int32
(bukan native int
) ketika dimuat ke tumpukan evaluasi. Nilai floating-point dikonversi menjadi F
jenis saat dimuat ke tumpukan evaluasi.
Microsoft Intermediate Language (MSIL) yang terbentuk dengan benar memastikan bahwa ldind
instruksi digunakan dengan cara yang konsisten dengan jenis pointer.
Alamat yang awalnya didorong ke tumpukan harus diselaraskan ke ukuran alami objek pada mesin atau NullReferenceException dapat terjadi (lihat Unaligned instruksi awalan untuk tindakan pencegahan). Hasil dari semua instruksi MSIL yang mengembalikan alamat (misalnya, Ldloca dan Ldarga) diselaraskan dengan aman. Untuk jenis data yang lebih besar dari 1 byte, pengurutan byte tergantung pada CPU target. Kode yang bergantung pada urutan byte mungkin tidak berjalan di semua platform.
NullReferenceException dapat dilemparkan jika alamat yang tidak valid terdeteksi.
Metode berikut Emit kelebihan beban dapat menggunakan ldind.r8
opcode: