这是我的清单:
var MaxItemCountFromRegItems = RegisteredItems.MyRegisteredItems
.Where(s => s.ItemID == _itemID)
.Sum(s => s.Posted);`
失败并显示错误:
异常:System.ArgumentNullException:值不能为null。
发生明显错误,因为收集是空的。我想知道如何避免它。
答案 0 :(得分:5)
var MaxItemCountFromRegItems = RegisteredItems.MyRegisteredItems
.Where(s => s.ItemID == _itemID)
.Select(c=>c.Posted)
.DefaultIfEmpty(0).Sum();
答案 1 :(得分:1)
试试这个:
if (registeredItems.MyRegisteredItems != null)
{
var maxItemCountFromRegItems = registeredItems.MyRegisteredItems
.Where(s => s.ItemID == _itemID)
.Sum(s => s.Posted);
}
干杯。
答案 2 :(得分:0)
正确答案是:
if(RegisteredItems.MyRegisteredItems != null)
{
var SumOfItems = RegisteredItems.MyRegisteredItems
.Where(x => x.ItemID == _itemID)
.Select(o=>o.AmountField)
.DefaultIfEmpty(0).Sum();
}