Não é possível inferir um tipo comum para o segundo e terceiro operandos do operador 'Se'

Não é possível inferir um tipo comum para o segundo e terceiro operandos do operador 'If'. Um deve ter uma conversão crescente para o outro.

Quando o If operador é chamado com três argumentos, deve haver uma conversão crescente entre o segundo e o terceiro argumentos. Por exemplo, como não há uma conversão de ampliação em qualquer direção entre Integer e String, o código a seguir causa esse erro.

Dim divisor = 3  
' Not valid.  
' Console.WriteLine(If(divisor <> 0, number \ divisor, "Division by zero"))  

ID de erro: BC33106

Para corrigir este erro

  • Forneça uma conversão explícita para um dos operandos, se isso for possível em seu código.

  • Use uma construção de condição diferente, como uma If...Then...Else instrução.

Consulte também