我正在使用 Linq-to-XML 进行简单的“此用户是否已注册”检查(此处没有安全性,只是为桌面应用程序创建注册用户列表)。如何处理这样的查询结果:
var people = from person in currentDoc.Descendants("Users")
where (string)person.Element("User") == searchBox.Text
select person;
我知道使用结果的最常见方法是这样的
foreach (var line in people){
//do something here
}
但如果你该怎么办person
返回空,如果该人未注册会发生什么情况?
我浏览过这个网站和 MSDN,但还没有找到真正明确的答案。
额外加分:对内容做出很好的解释people
包含。
我读到在这些情况下最好使用 Any() 而不是 Count()==0 。例如
bool anyPeople = people.Any();
if (anyPeople) {
See http://rapidapplicationdevelopment.blogspot.com/2009/07/ienumerablecount-is-code-smell.html http://rapidapplicationdevelopment.blogspot.com/2009/07/ienumerablecount-is-code-smell.html有关在 Linq 中使用 Count() 的性能影响的更多讨论,尤其是在 IEnumerable 中,其中整个集合由 Count() 方法迭代。
与 Count() 相比,使用 Any() 可以更清楚地解释您的意图
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)