在“Select”、“Case”语句的表达式中使用了 Object 类型的操作数;可能会发生运行时错误

更新:2007 年 11 月

Select...Case 构造使用 Object 数据类型 的一个或多个表达式。

当变量或表达式的计算结果为 Object 时,编译器必须执行后期绑定,这将在运行库上产生额外操作。 它还使应用程序易于发生潜在的运行时错误。例如,如果将 Form 赋值给 Object 变量,然后尝试将其与某一数字进行比较,则运行库将引发 InvalidCastException 异常,因为 Visual Basic 不能将 Form 对象转换为数值。

Select...Case 构造中的表达式应当全部为可以相互转换的相同数据类型或紧密相关的数据类型。这是因为每条 Case 语句会将至少一个值与 Select...Case 构造所基于的测试表达式进行比较。

默认情况下,此消息是一个警告。有关隐藏警告或将警告视为错误的信息,请参见 在 Visual Basic 中配置警告

**错误 ID:**BC42036

更正此错误

  • 如有可能,请排列所有的表达式,以便计算结果是为比较运算符定义的数据类型。

请参见

概念

算术运算符 (Visual Basic)

比较运算符 (Visual Basic)

参考

Select...Case 语句 (Visual Basic)