考虑以下部分视图代码片段
List<sellingPrice> Prices = ViewBag.Prices;
foreach (var mgmp in mg.messageGroup.messageGroupMessagePLUs)
{
if (Prices.Any(x => x.pluId == mgmp.messagePLU.plu.pluId))
{
//do stuff
}
}
对于数据库中的特定产品,该行
if (Prices.Any(x => x.pluId == mgmp.messagePLU.plu.pluId))
引发 System.NullReferenceException。检查代码显示 mgmp是一个对象,价格包含元素。但是,x 的值为空。现在,我的印象是我只是在测试是否存在任何满足我测试的“x”,而不是要求它返回“x”。
这是一个非常恼人的问题。希望有人能指出真正明显的解决方案。