gpt4 book ai didi

c# - 将 HasValue 重写为 ??运营商

转载 作者:可可西里 更新时间:2023-11-01 07:49:05 25 4
gpt4 key购买 nike

重写以下代码是否安全:

bool b = foo.bar.HasValue ? foo.bar.Value : false;

bool b = foo.bar.Value ?? false;

bar 是可空类型 bool?

最佳答案

最简单的解决方法是

bool b = foo.bar.GetValueOrDefault();

这实际上也比 .Value 便宜,因为它省略了有值检查。它将默认为 default(T) ,这里确实是 false (它只是返回底层 T 字段的值,没有任何检查完全没有)。

如果您需要与default(T)不同的默认值,那么:

var value = yourNullable.GetValueOrDefault(yourPreferredValue);

关于c# - 将 HasValue 重写为 ??运营商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6466967/

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