C# 如何使用lambda表达式将参数传递给LINQ to XML查询?
我不熟悉.net(C#,asp.net)中的LINQ到XML。我想了解更多关于Lambda表达式的信息。我将Lambada表达式用于以下查询C# 如何使用lambda表达式将参数传递给LINQ to XML查询?,c#,asp.net,linq,linq-to-xml,lambda,C#,Asp.net,Linq,Linq To Xml,Lambda,我不熟悉.net(C#,asp.net)中的LINQ到XML。我想了解更多关于Lambda表达式的信息。我将Lambada表达式用于以下查询 count = FieldRoot.Element("USER").Element("MM") .Descendants("MMMS") .Where(a => a.Attribute("ID").Value == MID) .SelectMany(b => b.Desce
count = FieldRoot.Element("USER").Element("MM")
.Descendants("MMMS")
.Where(a => a.Attribute("ID").Value == MID)
.SelectMany(b => b.Descendants("ABC")).Count();
你能告诉我Lambda表达式在参数情况下是如何工作的吗(在上面的案例a和b中)?Lambda表达式中参数的基本概念是什么?我们可以使用在查询之外定义的变量名而不是a&b吗?在上述情况下,a&b代表哪些要素?我们可以在查询中从外部传递参数吗?若我们可以从外部查询传递参数,那个么将如何进行呢?如果您给我任何其他的例子,而不是上面的查询,以了解Lambda表达式中参数的概念,那么它也将对我帮助很大 基本概念是对
XElement
值序列调用Where
——因此lambda表达式执行多次,其中a
的值作为“当前”XElement。然后,lambda表达式表示是否应在结果中包含该XElement
对于SelectMany
调用,这将有效地展平序列-从一个XElement
生成所有ABC子元素的序列
这实际上只是LINQ到对象-只是LINQ到XML与LINQ到对象非常契合。基本概念是,在
XElement
值序列上调用,其中
,因此lambda表达式被执行多次,其中a
的值作为“当前”XElement。然后,lambda表达式表示是否应在结果中包含该XElement
对于SelectMany
调用,这将有效地展平序列-从一个XElement
生成所有ABC子元素的序列
这实际上只是LINQ到对象-只是LINQ到XML非常适合LINQ到对象。我们可以使用任何其他参数名或变量名(在查询之外的代码中声明)而不是表示当前XElement的a&b吗?@Shailesh:是的,您可以使用其他变量。变量将被lambda表达式捕获。我们是否可以使用任何其他参数名或变量名(在查询之外的代码中声明),而不是表示当前元素的a&b?@Shailesh:是的,您可以使用其他变量。变量将由lambda表达式捕获。