不能为“If”运算符的第二个和第三个操作数推断出通用类型

更新:2007 年 11 月

错误消息

无法为“If”运算符的第二个和第三个操作数推断出通用类型。其中一个操作数必须能够扩大转换到另一个操作数的类型。

在使用三个参数调用 If 运算符时,第二个参数和第三个参数之间必须存在扩大转换。例如,由于 Integer 与 String 之间不存在任一方向的扩大转换,因此以下代码将导致此错误。

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

**错误 ID:**BC33106

更正此错误

  • 如果可能,请在代码中对其中一个操作数进行显式转换。

  • 使用其他的条件结构,如 If...Then...Else 语句。

请参见

概念

扩大转换和收缩转换

参考

If 运算符

If...Then...Else 语句 (Visual Basic)