OpCodes.Conv_Ovf_U2_Un Pole

Definice

Převede hodnotu bez znaménka nad zásobníkem vyhodnocení na unsigned int16 a rozšíří ji na int32hodnotu , která OverflowException vyvolá přetečení.

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

Hodnota pole

Poznámky

Následující tabulka uvádí hexadecimální formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným souhrnem referenčních informací:

Formát Formát sestavení Description
87 conv.ovf.u2.un Převede hodnotu bez znaménka na unsigned int16 hodnotu (na zásobníku jako int32) a vyvolá výjimku při přetečení.

Přechodné chování zásobníku v sekvenčním pořadí je:

  1. value se nasdílí do zásobníku.

  2. value se zobrazí ze zásobníku a pokusí se o operaci převodu. Pokud dojde k přetečení, vyvolá se výjimka.

  3. Pokud je převod úspěšný, výsledná hodnota se nasdílí do zásobníku.

Opcode conv.ovf.u2.un převede value horní část zásobníku na typ zadaný v opcode a umístí převedenou hodnotu do horní části zásobníku. Pokud je hodnota příliš velká nebo příliš malá, aby byla reprezentována cílovým typem, vyvolá se výjimka.

Převody z čísel s plovoucí desetinou čárkou na celočíselné hodnoty zkracují číslo směrem k nule. Všimněte si, že celočíselné hodnoty menší než 4 bajty jsou při načtení do zkušebního zásobníku rozšířeny int32 na (pokud se conv.ovf.i nepoužívají nebo conv.ovf.u se nepoužívají, v takovém případě je výsledek také native int).

OverflowException je vyvolán, pokud výsledek nemůže být reprezentován v typu výsledku.

Následující Emit přetížení metody může použít conv.ovf.u2.un opcode:

Platí pro

Produkt Verze
.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, 10
.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