无法为二元“If”运算符的第一个和第二个操作数推断出通用类型
更新:2007 年 11 月
错误消息
无法为二元“If”运算符的第一个和第二个操作数推断出通用类型。其中一个操作数必须能够扩大转换到另一个操作数的类型。
二元 If 运算符要求在其中一个参数和另一个参数之间存在扩大转换。例如,由于 Integer 与 String 之间不存在任一方向的扩大转换,因此以下代码将导致此错误。
Dim first? As Integer
Dim second As String = "First is Nothing"
'' Not valid.
' Console.WriteLine(If(first, second))
**错误 ID:**BC33110
更正此错误
如果可能,请在代码中对其中一个操作数进行显式转换:
Console.WriteLine(If(first, CInt(second)))
使用不同的条件结构重写代码。
If first IsNot Nothing Then Console.WriteLine(first) Else Console.WriteLine(second) End If