C # linq нулевой вопрос - PullRequest
2 голосов
/ 31 марта 2011

Может ли кто-нибудь объяснить мне, как это возможно:

foreach (var pair in Expected.Zip(
         Actual, (x, y) => new { Expected = x, Actual = y }))
{
    // No match for a 'null' series.
    if (pair.Actual == null) yield return 0;

    var actualPaths = pair.Actual.Images.Select(x => x.Path).ToList();
}

Этот код (в Microsoft Visual Studio 2008) останавливается на строке var actualPaths = ... и говорит, что pair.Actual равняется null, поэтому поднимается NullReferenceException.

Как это вообще возможно? Я что-то упустил?

1 Ответ

8 голосов
/ 31 марта 2011

После вашего if остальная часть кода продолжает работать.

Вам необходимо добавить continue; или поместить остальной код в блок else.

...