C# linq null 问题
有人可以解释一下这怎么可能吗:
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 中)在 varactualPaths = ...
行停止并表示 pair。 Actual
等于 null
,因此引发 NullReferenceException
。
这怎么可能?我错过了什么吗?
Could someone explain me how can this be possible:
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();
}
This code (in Microsoft Visual Studio 2008
) stops on line var actualPaths = ...
and says that pair.Actual
equals null
, therefore raising a NullReferenceException
.
How is this even possible? Am I missing something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在
if
之后,其余代码继续运行。您需要添加
continue;
,或将其余代码放入else
块中。After your
if
, the rest of the code keeps running.You need to add
continue;
, or put the rest of the code in anelse
block.