Gibt es eine elegantere Möglichkeit, nullable ints hinzuzufügen?

Gibt es eine elegantere Möglichkeit, nullable ints hinzuzufügen?
var nums = new int?[] {1, null, 3};
var total = nums.Sum();

Dies beruht auf dem IEnumerable<Nullable<Int32>> Überladung der Enumerable.Sum Methode, die sich wie erwartet verhält.

Wenn Sie einen Standardwert haben, der nicht gleich Null ist, können Sie Folgendes tun:

var total = nums.Sum(i => i.GetValueOrDefault(myDefaultValue));

oder die Abkürzung:

var total = nums.Sum(i => i ?? myDefaultValue);


total += sum1.GetValueOrDefault();

usw.


Nur um die Frage am direktesten zu beantworten:

int total = (sum1 ?? 0) + (sum2 ?? 0) + (sum3 ?? 0);

Auf diese Weise werden die Anweisungen bei der Abfrage mit einem +

"verkettet".