【问题标题】:Linq Count Returned ResultsLinq 计数返回的结果
【发布时间】:2009-04-01 17:59:08
【问题描述】:
//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 上添加手表,它似乎不存在...

【问题讨论】:

    标签: linq


    【解决方案1】:

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

    (如果您真的想要计数,那么Count() 确实是正确的方法。我的猜测是Watch 窗口被它作为扩展方法而混淆了。您可以显式调用System.Linq.Enumerable.Count(generalFeedbackQuery) 这可能有效。 )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 2012-05-06
      相关资源
      最近更新 更多