Nie można wywnioskowania wspólnego typu dla drugiego i trzeciego operandów operatora "If"

Nie można wywnioskowania wspólnego typu dla drugiego i trzeciego operandów operatora "If". Jedna z nich musi mieć konwersję rozszerzającą na drugą.

If Gdy operator jest wywoływany z trzema argumentami, musi istnieć konwersja rozszerzająca między drugim a trzecimi argumentami. Na przykład, ponieważ nie istnieje konwersja rozszerzająca w obu kierunkach między Integer i String, poniższy kod powoduje ten błąd.

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

Identyfikator błędu: BC33106

Aby poprawić ten błąd

  • Podaj jawną konwersję dla jednego z operandów, jeśli jest to możliwe w kodzie.

  • Użyj innej konstrukcji warunku, takiej jak If...Then...Else instrukcja.

Zobacz też