gpt4 book ai didi

c# - if() 语句中的可为空的 bool - 需要检查吗?

转载 作者:太空狗 更新时间:2023-10-29 22:05:37 24 4
gpt4 key购买 nike

我刚刚在同事代码中看到了这个。他有一个可以为 null 的 bool 类型,他是这样比较的:

//foo has no value here and evaluated to false
if(foo==true)
{
doSomething();
}

通常,我检查可空 bool 值的方式是这样的:

bool IsTrue(bool? value)
{
return value.HasValue && value.Value;
}

if(IsTrue(foo)){
doSomething()
}

编辑:我试过这两种方法,它们的工作方式似乎相同。我在问哪一个是正确的方法,是否需要额外的检查??

现在我在质疑自己和同事的代码。我在这里做这个额外检查有什么意义吗?或者我可以安全地使用第一种方法吗?

谢谢(是的,我确实搜索过这个!:))

最佳答案

实际上我不建议您将null 视为false。使用不可为 null 的 bool 值,或显式处理 null 值。另一种选择:

if (foo ?? false)
{

}

关于c# - if() 语句中的可为空的 bool - 需要检查吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20197275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com