Partilhar via


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

Mensagem de erro

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

Quando o operador If é chamado com três argumentos, deve haver uma conversão de alargamento entre o segundo e terceiro argumentos.Por exemplo, devido ao fato de que não há uma conversão de alargamento em ambas as direções entre Integer e String, o seguinte código causa este 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 isto é possível no seu código.

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

Consulte também

Conceitos

Conversões Ampliadoras e Redutoras

Referência

Se operador

Declaração If...Then... (Visual Basic)