我已经为此查看了stackoverflow,但找不到我正在寻找的答案,它真的很简单。基本上我想知道如何检查我的 IEnumerable 变量是否为空,我的 if 语句只是嘲笑我并让变量通过。
这是场景,我有一个从数据库中提取的数据列表,这一点是一个过滤功能(所以没有 [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 语句中删掉了那句话。变量笑得很厉害,我发誓我可以通过扬声器听到它。
无论如何,伙计们,如果我能找到最好的方法来做到这一点,为什么。会有饼干。