让我们定义这个函数:
Public Function Test(ByVal value As Boolean)
Return "blabla" + If(value = Nothing, "", If(value, "1", "0"))
End Function
我希望它执行以下操作:
Test(True) -> "blabla1"
, Test(False) -> "blabla0"
, Test(Nothing) -> "blabla"
.问题是
Test(Nothing)
返回“blabla0”。
最佳答案
A Boolean
值永远不可能是 null
( Nothing
),可能的值是 True
和 False
.您需要一个可为空的值,即 Boolean?
,因为它能够为空。
使用 HasValue
和 Value
可空值的属性来检查是否有值,并获取值:
Public Function Test(ByVal value As Boolean?)
Return "blabla" + If(Not value.HasValue, "", If(value.Value, "1", "0"))
End Function
关于.net - vb.net boolean 值和无,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19931669/