OpCodes.Conv_I1 Campo

Definizione

Converte il valore all'inizio dello stack di valutazione in int8, quindi lo estende, aggiungendo spazi, a int32.

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

Valore del campo

Commenti

La tabella seguente elenca il formato dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), insieme a un breve riepilogo di riferimento:

Formato Formato assembly Descrizione
67 conv.i1 Convertire in int8, eseguire il int32 push nello stack.

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

  1. value viene eseguito il push nello stack.

  2. value viene rimosso dallo stack e viene tentata l'operazione di conversione.

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

Il conv.i1 codice opcode converte l'oggetto value nella parte superiore dello stack nel tipo specificato nel codice opcode e lascia il valore convertito nella parte superiore dello stack. I valori interi di meno di 4 byte vengono estesi a int32 quando vengono caricati nello stack di valutazione (a meno conv.i che non venga usato o conv.u usato, nel qual caso il risultato è anche native int). I valori a virgola mobile vengono convertiti nel F tipo.

La conversione da numeri a virgola mobile a valori interi tronca il numero verso zero. Quando si converte da a un float64float32oggetto , la precisione può essere persa. Se value è troppo grande per adattarsi a un float32 (F)infinito positivo (se è positivo) o infinito negativo (se valuevalue è negativo) viene restituito. Se si verifica la conversione di un tipo integer in un altro, i bit di ordine elevato vengono troncati. Se il risultato è minore di un int32, il valore è esteso per riempire lo slot.

Se si verifica la conversione di un tipo a virgola mobile in un intero, il valore restituito non è specificato.

Nessuna eccezione viene mai generata quando si usa questo campo. Vedere Conv_Ovf_I1 e Conv_Ovf_I1_Un per istruzioni equivalenti che genereranno un'eccezione quando il tipo di risultato non può rappresentare correttamente il valore del risultato.

L'overload del metodo seguente Emit può usare il conv.i1 codice opcode:

Si applica a