有人可以解释一下这怎么可能:

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

这怎么可能?我想念什么吗?

最佳答案

在您的if之后,其余代码将继续运行。

您需要添加continue;,或将其余代码放在else块中。

关于c# - C#Linq空问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5494538/

10-13 06:45