我使用简单的if语句,并希望将true或false检索为Boolean类型。我确实喜欢这个:
Iif(text = "something", Convert.ToBoolean(True), Convert.ToBoolean(False))
我也在尝试这个:
Iif(text = "something", True, False)
对于这两种情况,我都会收到错误,但我的表达肯定是正确的。我做错了什么?
答案 0 :(得分:1)
使用If运算符。
Dim someString As String = "something"
Dim matchSomeString As Boolean = If(someString = "something", True, False)
答案 1 :(得分:1)
对于一个简单的布尔值,您可以直接使用比较结果
dim text as String = "something"
dim result as Boolean
result = (text ="something")
答案 2 :(得分:0)
AS由MSDN定义
IIF
:根据表达式的评估,返回两个对象中的一个。
IIF函数有一个返回值,您需要将True或false部分存储到某个变量。
例如:
Dim _decision As Boolean =IIf(text = "something", True, False);
然后转换为
Convert.ToBoolean(_decision );
答案 3 :(得分:0)
@Tushar Gupta(抱歉还不能发表评论,但我还是要回答)
你不需要转换你的价值i juste测试下面的代码并且它完全奏效(在运行结束时irt为4而不是2)
Dim irt = 2
Dim text As String = "abc"
Dim o = IIf(text = "abc", True, False)
If o Then irt = 4
End
所以我猜你没有存储你的返回值,或者你的文本值并不完全是你期望的值。
无论如何,如果你只需要真/假我不明白为什么你不使用简单的,如果谁会更快。