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

Aktualisiert: November 2007

Fehlermeldung

Es kann kein gemeinsamer Typ für den zweiten und dritten Operanden des If-Operators abgeleitet werden. Ein Operand muss über eine erweiternde Konvertierung auf den anderen verfügen.
Cannot infer a common type for the second and third operands of the 'If' operator. One must have a widening conversion to the other.

Wenn der If-Operator mit drei Argumenten aufgerufen wird, muss eine Erweiterungskonvertierung zwischen dem zweiten und dritten Argument unterstützt werden. Da zwischen Integer und String in keiner Richtung eine erweiternde Konvertierung vorhanden ist, verursacht der folgende Code beispielsweise 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

  • Stellen Sie eine explizite Konvertierung für einen der Operanden bereit, sofern im Code möglich.

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

Siehe auch

Konzepte

Erweiternde und eingrenzende Konvertierungen

Referenz

Operator If

If...Then...Else-Anweisung (Visual Basic)