Предположим, что у меня есть два нулевых целых числа:
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;
}
Это кажется слишком неуклюжим (и, возможно, подверженным ошибкам) по моему вкусу. Какой самый простой способ вернуть большее значение, что также учитывает возможность нулевых значений?