Кто-нибудь может объяснить, что здесь происходит? Как оба эти вещи верны?
[TestMethod]
public void WhatIsGoingOnHere()
{
List<int?> list = new List<int?> { 1, 2, 3, null, 5, 6 };
Assert.AreEqual(17, list.Sum());
int? singleSum = 1 + 2 + 3 + null + 5 + 6;
Assert.IsNull(singleSum);
}
В частности, почему метод Sum () не возвращает «null»? Или singleSum не равно 17?