LINQ Where 子句中的复杂表达式
我想知道是否可以在 linq 语句中包含内部变量或委托?
我目前正在使用带有 XPath 扩展的 Linq to XML,并且正在对我无法保证会存在的元素使用 where 子句。
这是我的意思的一个示例:
var result =
from record in xml.Root.XPathSelectElements("record")
where ...
select record;
我希望 where 是这样的:
where
{
var element = record.XPathSelectElement("element[@type='sometype']");
return (element != null && element.Value.Contains("keyword"));
}
I was wondering if it is possible to include inner variables or delegates in linq statements?
I currently am using Linq to XML with XPath extensions and am using a where clause on an element that I cannot guarantee will exist.
Here is a sample of what I mean:
var result =
from record in xml.Root.XPathSelectElements("record")
where ...
select record;
I want the where to be something like:
where
{
var element = record.XPathSelectElement("element[@type='sometype']");
return (element != null && element.Value.Contains("keyword"));
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要 Linq 中的“let”关键字。像这样的东西吗?
You want the "let" keyword in Linq. Something like this?
您可以在这里使用“let”子句;
You could use a "let" clause here;
我不太了解查询语法,无法确定,但这对于函数语法来说是微不足道的:
I don't know the query syntax well enough to say for sure, but this would be trivial with the functional syntax: