取两个可为空值中的较大者

2024-02-19

假设我有两个可为空的整数:

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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

取两个可为空值中的较大者 的相关文章

随机推荐