Linq Count返回结果

时间:2009-04-01 09:53:29

标签: linq

//Feedback Check
var generalFeedbackQuery = from feedbackElements in xml.Elements("feedback")
                           select new
                           {
                               Feedback = feedbackElements.Element("general").Value,
                               PostiveFeedback = feedbackElements.Element("positive").Value,
                               NegativeFeedback = feedbackElements.Element("negative").Value
                           };

Assert.AreEqual(actual.feedback, generalFeedbackQuery.ElementAt(0).Feedback);
Assert.AreEqual(actual.positiveFeedback, generalFeedbackQuery.ElementAt(0).PostiveFeedback);
Assert.AreEqual(actual.negativeFeedback, generalFeedbackQuery.ElementAt(0).NegativeFeedback);

是否可以检查查询是否返回了什么?

喜欢

if(generalFeedbackQuery.Count())....

这似乎有效,但是如果你在Count上添加一个手表它似乎不存在......

1 个答案:

答案 0 :(得分:5)

查看是否返回任何的最佳方法是使用Any()。一旦获得任何结果,它就会停止并返回true,而不是遍历所有结果。

(如果你真的想要计数,那么Count()确实是正确的方法。我的猜测是Watch窗口因为它是一种扩展方法而感到困惑。你可以明确地调用System.Linq.Enumerable.Count(generalFeedbackQuery)这可能有用。)