OpCodes.Ldind_R8 Pole
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ładuje wartość typu jako typ float64
F
(zmiennoprzecinkowy) na stos oceny pośrednio.
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
W poniższej tabeli wymieniono format zestawu szesnastkowy i microsoft intermediate language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:
Format | Format zestawu | Opis |
---|---|---|
4F | ldind.r8 |
float64 Ładuje wartość pod adresem addr na stos jako typ F . |
Zachowanie przejściowe stosu w kolejności sekwencyjnej to:
Adres jest wypychany do stosu.
Adres jest zwinięty ze stosu; wartość znajdująca się pod adresem jest pobierana.
Pobrana wartość jest wypychana do stosu.
Instrukcja ldind.r8
pośrednio ładuje float64
wartość z określonego adresu (typu native int
, &
lub *) na stos jako float64
.
ldind
Wszystkie instrukcje są skrótami do Ldobj instrukcji, która określa odpowiednią wbudowaną klasę wartości.
Należy pamiętać, że wartości całkowite mniejsze niż 4 bajty są rozszerzone na int32
(nie native int
) podczas ich ładowania do stosu ewaluacyjnego. Wartości zmiennoprzecinkowe są konwertowane na F
typ podczas ładowania do stosu ewaluacyjnego.
Poprawnie sformułowany język Microsoft Intermediate Language (MSIL) zapewnia, że ldind
instrukcje są używane w sposób zgodny z typem wskaźnika.
Adres początkowo wypychany do stosu musi być wyrównany do naturalnego rozmiaru obiektów na maszynie lub NullReferenceException może wystąpić (zobacz instrukcję prefiksu Unaligned dla miar zapobiegawczych). Wyniki wszystkich instrukcji MSIL, które zwracają adresy (na przykład Ldloca i Ldarga) są bezpiecznie wyrównane. W przypadku typów danych większych niż 1 bajtów kolejność bajtów zależy od docelowego procesora CPU. Kod, który zależy od kolejności bajtów, może nie być uruchamiany na wszystkich platformach.
NullReferenceException może zostać zgłoszony, jeśli wykryto nieprawidłowy adres.
Następujące Emit przeciążenie metody może używać ldind.r8
kodu opcode:
Produkt | Wersje |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: