Linq, метод Sum для nullable-типов:
public static int? Sum(this IEnumerable<int?> source) {
if (source == null) throw Error.ArgumentNull("source");
int sum = 0;
checked {
foreach (int? v in source) {
if (v != null) sum += v.GetValueOrDefault();
}
}
return sum;
}
В чём смысл конструкции
if (v != null) sum += v.GetValueOrDefault();
насколько я понимаю, можно было бы без изменения результата написать просто
sum += v.GetValueOrDefault();
Так зачем же if?
С точки зрения именно результирующего значения действительно ничего не изменится, однако чем больше null-значений в представленном source, тем указанный метод будет работать быстрее.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости