Condividi tramite


OpCodes.Conv_Ovf_I4_Un Campo

Definizione

Converte il valore senza segno all'inizio dello stack di valutazione in int32 con segno, generando un'eccezione OverflowException in caso di overflow.

public: static initonly System::Reflection::Emit::OpCode Conv_Ovf_I4_Un;
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_I4_Un;
 staticval mutable Conv_Ovf_I4_Un : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_Ovf_I4_Un As OpCode 

Valore del campo

Commenti

La tabella seguente elenca il formato di assembly Esadecimale e MSIL (Microsoft Intermediate Language), insieme a un breve riepilogo dei riferimenti:

Formato Formato assembly Descrizione
84 conv.ovf.i4.un Converte un valore senza segno in un oggetto int32 (nello stack come int32) e genera un'eccezione in caso di overflow.

Il comportamento di transizione dello stack, in ordine sequenziale, è:

  1. value viene inserito nello stack.

  2. value viene estratto dallo stack e viene tentata l'operazione di conversione. Se si verifica l'overflow, viene generata un'eccezione.

  3. Se la conversione ha esito positivo, il valore risultante viene inserito nello stack.

Il conv.ovf.i4.un codice operativo converte l'oggetto value nella parte superiore dello stack nel tipo specificato nel codice operativo e inserisce il valore convertito nella parte superiore dello stack. Se il valore è troppo grande o troppo piccolo per essere rappresentato dal tipo di destinazione, viene generata un'eccezione.

Le conversioni da numeri a virgola mobile a valori interi troncano il numero verso zero. Si noti che i valori interi inferiori a 4 byte vengono estesi a int32 quando vengono caricati nello stack di valutazione (a meno conv.ovf.i che non vengano usati o conv.ovf.u , nel qual caso il risultato è anche native int).

OverflowException viene generata se il risultato non può essere rappresentato nel tipo di risultato.

L'overload del metodo seguente Emit può usare il conv.ovf.i4.un codice operativo:

Si applica a