c# – 取更大的两个可空值

假设我有两个可空整数:

int? a = 10;
int? b = 20;

我想要获取最大的非空值,如果这两个值都为空,则结果为null。

我可以写一些长长的东西,如:

int? max;
if (a == null)
{
    max = b;
}
else if (b == null)
{
    max = a;
}
else
{
    max = a > b ? a : b;
}

对于我的喜好,这感觉有点太笨重(可能容易出错)。返回更大的值的最简单的方法是什么,这也是空值的可能性?

这适用于任何可空的:

Nullable.Compare(a, b) > 0? a: b;
http://stackoverflow.com/questions/29985069/take-the-greater-of-two-nullable-values

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 取更大的两个可空值