OpCodes.Conv_Ovf_I2_Un Campo

Definição

Converte o valor não assinado no topo da pilha de avaliação em assinado int16 e estende-o para int32, lançando OverflowException em overflow.

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

Valor de Campo

Observações

A tabela seguinte lista o formato hexadecimal e assembly da Microsoft Intermediate Language (MSIL) da instrução, juntamente com um breve resumo de referência:

Formato Formato de Montagem Description
83 conv.ovf.i2.un Converte um valor não assinado para um int16 (na pilha como int32) e lança uma exceção no overflow.

O comportamento de transição da pilha, por ordem sequencial, é:

  1. value é empurrado para a pilha.

  2. value é retirado da pilha e a operação de conversão é tentada. Se ocorrer excesso, é lançada uma exceção.

  3. Se a conversão for bem-sucedida, o valor resultante é empurrado para a pilha.

O conv.ovf.i2.un opcode converte o topo value da pilha para o tipo especificado no opcode e coloca esse valor convertido no topo da pilha. Se o valor for demasiado grande ou demasiado pequeno para ser representado pelo tipo-alvo, é lançada uma exceção.

As conversões de números de vírgula flutuante para valores inteiros truncam o número até zero. Note-se que valores inteiros inferiores a 4 bytes são estendidos até int32 quando são carregados na pilha de avaliação (a menos que conv.ovf.i sejam ou conv.ovf.u sejam usados, caso em que o resultado também native inté ).

OverflowException é lançado se o resultado não puder ser representado no tipo de resultado.

O seguinte Emit método de sobrecarga pode usar o conv.ovf.i2.un opcode:

Aplica-se a