如何知道我的linq查询是否返回null

Mou*_*yad 15 .net c# linq wpf

我有这个linq查询:

var myQuery = from Q in myDataContext
          select Q.Name
Run Code Online (Sandbox Code Playgroud)

当我尝试这样做时:listView.ItemsSource = myQuery

它有时会引发异常,因为没有元素 myQuery

我尝试过很多方法:if(myQuery.count!=0) 或者if(myQuery.Any()) 什么都没有用,所以如何判断我的Query是否返回null?

Guf*_*ffa 17

您可以将结果显示为列表:

var myQuery = (from Q in myDataContext select Q.Name).ToList();
Run Code Online (Sandbox Code Playgroud)

现在您可以检查项目数量:

if (myQuery.Count > 0) ...
Run Code Online (Sandbox Code Playgroud)

您也可以Count()在原始查询上使用该方法,但之后您将运行查询两次,一次计算项目,一次使用它们.

  • 你能用 myQuery.Any() 而不是 myQuery.Count>0 吗? (2认同)

Mar*_*ers 5

LINQ 查询永远不应该返回 null,如果结果为空,您也不应该得到异常。您的代码中可能有错误。

您发布的代码似乎缺少表名。您确定您发布的代码是给您带来问题的代码吗?