【发布时间】:2015-03-16 10:06:52
【问题描述】:
我有一个 XmlNodeList 并想调用 .Where() 来获取过滤的节点列表。但这不起作用。现在我想知道,为什么有时 .Where() 有效而有时无效。我怎样才能让这段代码与 .Where() 一起运行?
XmlDocument doc = new XmlDocument();
doc.LoadXml(Xml);
var oTestNodes = doc.DocumentElement.ChildNodes.Where((item) => item.Name = "TestNode");
为了说明我的意思,这是可以执行相同操作的查询表达式:
var oTestNodes = from XmlNode oNode in doc.DocumentElement.ChildNodes
where oNode.Name = "TestNode"
select oNode;
【问题讨论】:
-
不要只说“我不是在寻找这个”——告诉我们为什么您要拒绝这些选项。另外,不清楚为什么要将这些查询表达式放在括号中...
-
这不是有效的 c# 代码。首先检查你的编译器错误。
-
另请注意,当您说“Linq 解决方案”时,我认为您的意思是“查询表达式” - 直接调用
Where方法仍在使用 LINQ,IMO... -
您所称的 LINQ 解决方案和您想要的(因为两者都是 LINQ 表达式)之间没有技术差异。前者只是另一种语法(所谓的查询语法),但两者都是LINQ。
-
那么你应该编辑你的问题来解释这一点。没有解释的“我知道 X 会工作但我不想使用它”的问题非常令人沮丧——如果我们不知道为什么某个特定的解决方案被拒绝,我们就无法判断另一个解决方案是否会被拒绝.
标签: c# linq ienumerable