假设我有两个可为空的整数:
int? a = 10;
int? b = 20;
我想取最大的非空值,这样如果两个值都为空,则结果为空。
我可以写一些冗长的东西,比如:
int? max;
if (a == null)
{
max = b;
}
else if (b == null)
{
max = a;
}
else
{
max = a > b ? a : b;
}
根据我的喜好,这感觉有点太笨重(而且可能容易出错)。返回更大值的最简单方法是什么,这也说明了空值的可能性?
最佳答案
在一行中使用空合并运算符:
int? c = a > b ? a : b ?? a;
关于c# - 取两个可为空的值中的较大者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29985069/