gpt4 book ai didi

linq - C# Generic List.Any() 抛出 System.NullReferenceException

转载 作者:行者123 更新时间:2023-12-02 13:42:46 24 4
gpt4 key购买 nike

考虑以下部分 View 代码片段

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 一个对象,并且 Price 包含元素。然而,x 的值为空。现在,我的印象是我只是测试是否存在满足我的测试的“x”,而不是要求它返回“x”。

这是一个非常令人恼火的问题。希望有人能指出真正明显的解决方案。

最佳答案

尝试:

Prices.Any(x => x!=null && x.pluId == mgmp.messagePLU.plu.pluId)

如果 .messagePLU 可以为 null,您可能需要执行其他 null 检查

关于linq - C# Generic List.Any() 抛出 System.NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14361606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com