Es kann kein gemeinsamer Typ für den zweiten und dritten Operanden des If-Operators abgeleitet werden

Es kann kein gemeinsamer Typ für den zweiten und dritten Operanden des If-Operators abgeleitet werden. Für einen muss eine erweiternde Konvertierung in den anderen durchgeführt werden.

Wenn der If -Operator mit drei Argumenten aufgerufen wird, muss zwischen dem zweiten und dritten Argument eine Widening-Konvertierung durchgeführt werden. Da z. B. zwischen Integer und Stringin beide Richtungen keine erweiternde Konvertierung durchgeführt wird, verursacht folgender Code diesen Fehler.

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

Fehler-ID: BC33106

So beheben Sie diesen Fehler

  • Geben Sie eine explizite Konvertierung für einen der Operanden an, wenn dies in Ihrem Code möglich ist.

  • Verwenden Sie eine andere Bedingungskonstruktion, z. B. eine If...Then...Else -Anweisung.

Siehe auch