【发布时间】:2012-11-21 13:22:06
【问题描述】:
是 VB.NET 2005,有没有办法在尝试将空字符串转换为整数时不抛出 invalid cast exception 来执行以下操作?
Dim strInput As String = String.Empty
Dim intResult As Integer = IIf(IsNumeric(strInput), CInt(strInput), 100)
【问题讨论】:
-
我会说你的
IsNumeric方法应该为空字符串返回 false。但是你为什么要检查strInput然后使用str? -
你不能 -
IIf不是一个表达式,而是一个函数,所以它必须在执行之前先计算所有参数。 -
@JoelEtherton:对不起,只是一个错字。它确实返回 false,但我认为它会引发异常,因为它无论如何都会尝试评估整个表达式。
标签: .net vb.net casting lazy-evaluation iif