我在stackoverflow搜索了一下,但找不到我要找的答案,其实很简单。我想知道如何检查我的IEnumerable变量是否为空,我的if语句嘲笑着让变量通过。
这是场景:我有一个从数据库中提取的数据列表,这个小函数是一个过滤器(因此没有[HttpPost]),它根据用户的输入来过滤内容。它首先检查审核数据库中的审核列表,如果返回空值,则要检查审核数据库中的用户列表。
这是代码:
这是场景:我有一个从数据库中提取的数据列表,这个小函数是一个过滤器(因此没有[HttpPost]),它根据用户的输入来过滤内容。它首先检查审核数据库中的审核列表,如果返回空值,则要检查审核数据库中的用户列表。
这是代码:
var review = from m in _db.Reviews
select m;
if (!String.IsNullOrEmpty(searchString))
{
review = review.Where(s => s.review.Contains(searchString));
if (review != null && review.Any())
{
return View(review);
}
else
{
review = review.Where(s => s.user.Contains(searchString));
return View(review);
}
我已经稍微尝试过了,if语句用来检查其是否为空,然后使用.any()、!= null以及两者结合,可变量仍然继续向前走,好像在嘲笑着我。我运行了调试器并放在几个位置上。当我输入一个我知道不会返回结果的值时,调试器显示审阅价值是:
"IEnumerable没有生成任何结果"
为了防止这种情况发生,我甚至在if语句中加入了那句话。可变量笑得太厉害了,我发誓我可以通过扬声器听到它。
无论如何,如果我能得到最好的方法以及原因,就会有饼干。