如果是HasValue,则使用可空值
本文关键字:空值 HasValue 如果 | 更新日期: 2023-09-27 18:11:18
假设我有int? number
。我需要做以下操作:
if (number.HasValue)
{
// use number.Value in any way. for example:
return number.Value;
}
else
{
return 0; // or another literal or constant value
}
是否有任何现有的方法可以做到上面列出的?
这就是空合并运算符的作用:
return number ?? 6;
这是你需要的- Nullable.GetValueOrDefault.
的例子:
return number.GetValueOrDefault();
在number.HasValue == false
的情况下,您可以指定will为默认值。在拳头的例子中是default(int)
= 0
:
return number.GetValueOrDefault(5);
感谢SLaks的评论。也可以这样做:
return number ?? 5;
当我发现编译器用number.HasValue
代替number == null
风格的代码时,您可以使用您喜欢的选项或您的编码指南。