Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用lambda表达式将参数传递给LINQ to XML查询?_C#_Asp.net_Linq_Linq To Xml_Lambda - Fatal编程技术网

C# 如何使用lambda表达式将参数传递给LINQ to XML查询?

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

我不熟悉.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.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表达式捕获。