OpCodes.Conv_I Pole

Definicja

Konwertuje wartość na stos oceny na native intwartość .

public static readonly System.Reflection.Emit.OpCode Conv_I;

Wartość pola

Uwagi

W poniższej tabeli wymieniono format zestawu szesnastkowy i microsoft intermediate language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:

Format Format zestawu Opis
D3 conv.i Konwertuj na native int, wypychając native int na stos.

Zachowanie przejściowe stosu w kolejności sekwencyjnej to:

  1. value jest wypychany do stosu.

  2. value jest zwinięty ze stosu, a operacja konwersji jest podejmowana.

  3. Jeśli konwersja zakończy się pomyślnie, wynikowa wartość zostanie wypchnięta do stosu.

Kod conv.i opcode konwertuje element value w górnej części stosu na typ określony w kodzie opcode i pozostaw wartość przekonwertowaną w górnej części stosu. Wartości całkowite mniejsze niż 4 bajty są rozszerzane do int32 momentu ich załadowania do stosu ewaluacyjnego (chyba że conv.i jest używany lub conv.u używany, w którym przypadku wynik jest również native intwynikiem ). Wartości zmiennoprzecinkowe są konwertowane na F typ.

Konwersja z liczb zmiennoprzecinkowych na wartości całkowite obcina liczbę w kierunku zera. Podczas konwertowania z elementu na float64 wartość można utracić precyzję float32. Jeśli value jest zbyt duży, aby zmieścić się w float32 (F), dodatnia nieskończoność (jeśli value jest dodatnia) lub ujemna nieskończoność (jeśli value jest ujemna) jest zwracana. Jeśli przepełnienie nastąpi przekonwertowanie jednego typu liczby całkowitej na inną, bity o wysokiej kolejności zostaną obcięte. Jeśli wynik jest mniejszy niż wartość int32, wartość jest rozszerzona o znak, aby wypełnić gniazdo.

Jeśli przepełnienie występuje podczas konwertowania typu zmiennoprzecinkowego na liczbę całkowitą, zwracana wartość jest nieokreślona.

W przypadku korzystania z tego pola nie są zgłaszane żadne wyjątki. Zobacz Conv_Ovf_I i Conv_Ovf_I_Un , aby uzyskać równoważne instrukcje, które zgłaszają wyjątek, gdy typ wyniku nie może prawidłowo reprezentować wartości wyniku.

Następujące Emit przeciążenie metody może używać conv.i kodu opcode:

Dotyczy

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