.net - vb.net boolean 值和无

标签 .net vb.net boolean nothing

让我们定义这个函数:

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 ),可能的值是 TrueFalse .您需要一个可为空的值,即 Boolean? ,因为它能够为空。

使用 HasValueValue可空值的属性来检查是否有值,并获取值:

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/

相关文章:

c# - 多个用户写入同一个文件

c# - 实现一个按钮来执行文件菜单项的操作

mysql - 当打开的连接过多时如何使 mysqlconnection 等待

vb.net - 有没有什么时候 Exception 可以什么都没有的时候?

ruby-on-rails - 对于 Rails 中的某些情况,如何实现是/否而不是 boolean 值?

c++ - 在 C++ 中快速排序 boolean 数组

c# - JavaScript 代码可以使网络浏览器上的文本闪烁一次

.net - 有使用 CryptoObfuscator 或 CryptoLicensing 的经验吗?

c# - 计算平均速度

java - 在没有 If 语句的情况下在 Java 中将 boolean 值转换为整数