OpCodes.Conv_I2 Pole
Definicja
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.
Konwertuje wartość na stos oceny na int16
, a następnie rozszerza ją (pady) na int32
.
public: static initonly System::Reflection::Emit::OpCode Conv_I2;
public static readonly System.Reflection.Emit.OpCode Conv_I2;
staticval mutable Conv_I2 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_I2 As OpCode
Wartość pola
Uwagi
W poniższej tabeli wymieniono format zestawu szesnastkowy instrukcji i microsoft intermediate language (MSIL) wraz z krótkim podsumowaniem referencyjnym:
Format | Format zestawu | Opis |
---|---|---|
68 | conv.i2 | Przekonwertuj wartość na int16 , wypychając int32 na stos. |
Zachowanie przejściowe stosu w kolejności sekwencyjnej jest następujące:
value
jest wypychany do stosu.value
jest zwinięty ze stosu, a operacja konwersji jest podejmowana.Jeśli konwersja zakończy się pomyślnie, wynikowa wartość zostanie wypchnięta do stosu.
Kod conv.i2
opcode konwertuje value
element w górnej części stosu na typ określony w kodzie opcode i pozostawia przekonwertowaną wartość na górze stosu. Wartości całkowite mniejsze niż 4 bajty są rozszerzane do int32
momentu ich załadowania do stosu oceny (chyba że conv.i
jest używany lub conv.u
używany, w tym przypadku wynik jest również native int
). 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 float64
na wartość można utracić precyzję float32
. Jeśli value
jest zbyt duża, aby zmieścić się w float32 (F)
, nieskończoność dodatnia (jeśli value
jest dodatnia) lub nieskończoność ujemna (jeśli value
jest ujemna) jest zwracana. Jeśli przepełnienie następuje przekonwertowanie jednego typu liczby całkowitej na inną, bity o dużej kolejności zostaną obcięte. Jeśli wynik jest mniejszy niż int32
wartość , wartość jest rozszerzona o znak, aby wypełnić miejsce.
Jeśli przepełnienie następuje przekonwertowanie typu zmiennoprzecinkowego na liczbę całkowitą, zwracana wartość jest nieokreślona.
Podczas korzystania z tego pola nigdy nie są zgłaszane żadne wyjątki. Zobacz Conv_Ovf_I2 instrukcje Conv_Ovf_I2_Un równoważne, które zgłaszają wyjątek, gdy typ wyniku nie może prawidłowo reprezentować wartości wyniku.
Emit Następujące przeciążenie metody może używać conv.i2
kodu opcode: