Мне нужно добавить многочисленные переменные типа nullable int. Я использовал нулевой оператор коалесцирования, чтобы получить его до одной переменной на строку, но у меня есть ощущение, что есть более сжатый способ сделать это, например. не могу я как-то связать эти утверждения, я видел это раньше в другом коде.Есть ли более элегантный способ добавления nullable ints?
using System;
namespace TestNullInts
{
class Program
{
static void Main(string[] args)
{
int? sum1 = 1;
int? sum2 = null;
int? sum3 = 3;
//int total = sum1 + sum2 + sum3;
//int total = sum1.Value + sum2.Value + sum3.Value;
int total = 0;
total = total + sum1 ?? total;
total = total + sum2 ?? total;
total = total + sum3 ?? total;
Console.WriteLine(total);
Console.ReadLine();
}
}
}
Простой, лаконичный, и она работает с тем, что уже есть. +1 – stakx
Является ли ваш подход лучше (производительность мудрый), чем просто выполнение 'int total = (sum1 ?? 0) + (sum2 ?? 0) + (sum3 ?? 0);'? Я имею в виду, что вы создаете массив, чтобы суммировать их значения. Это сильно влияет? Я просто хочу знать, хотя сначала написал точно такой же код, а затем начал его искать ;-) –