我有这个:
public int Control_list(List<int> items)
我想使用LINQ计算列表中的项目,如果列表为null,则返回0
我试过这个,但它没有通过所有可能出现在项目中的场景
bool isEmpty = !items.Any();
if (isEmpty)
{
return items.Count;
}
else
{
return 0;
}
有什么想法吗?
答案 0 :(得分:2)
如果对象为null,则对Any
的调用将不起作用。您需要先进行空检查。在此之后,调用Any
是多余的,因为如果Count
为false,Any
将返回0。
所以,只需使用
public int Control_list(List<int> items)
{
if (items == null)
{
return 0;
}
else
{
return items.Count;
}
}
或(使用conditional operator缩短):
public int Control_list(List<int> items)
{
return items == null ? 0 : items.Count;
}
答案 1 :(得分:0)
某些样式输入:列表的分类,您也可以传入ilist或ienumerable;)
答案 2 :(得分:-1)
你的情况应该是if(!isEmpty)。
如果你坚持使用linq .Any(),请先检查null:
where deviceReceiptTime Between 1490270439780 and 1490270448888