C# 如何使用LINQ填充元组?
我有一个xml块:C# 如何使用LINQ填充元组?,c#,asp.net,linq,C#,Asp.net,Linq,我有一个xml块: <difficulties> <difficulty difficultyId="1"> <parameter key="maxNumerator" value="10"></parameter> <parameter key="maxDenominator" value="15"></parameter> <parameter key="couple"
<difficulties>
<difficulty difficultyId="1">
<parameter key="maxNumerator" value="10"></parameter>
<parameter key="maxDenominator" value="15"></parameter>
<parameter key="couple" value="2"></parameter>
</difficulty>
<difficulty difficultyId="2">
<parameter key="maxNumerator" value="20"></parameter>
<parameter key="maxDenominator" value="30"></parameter>
<parameter key="couple" value="2"></parameter>
</difficulty>
...
</difficulties>
比如:
是否有某种方法可以将其插入元组列表中(假设我已经将xml文档加载到xDocument中)。我想使用LINQ:
List<Tuple<string, string, string>> res = from a in xDocument.Descendants("difficulties")
...?
List res=来自xDocument.substands(“困难”)
...?
您可以执行以下操作:
var res=(来自xDocument.subjects(“困难”)中的
来自a.Elements中的参数(“参数”)
选择新元组(a.Attribute(“difficultyId”).Value,
parameter.Attribute(“key”).Value,
parameter.Attribute(“value”).value)).ToList();
1, maxNumerator, 10
1, maxDenominator, 10
1, couple, 2
2, maxNumerator, 20
...
List<Tuple<string, string, string>> res = from a in xDocument.Descendants("difficulties")
...?
var res =(from a in xDocument.Descendants("difficulty")
from parameter in a.Elements("parameter")
select new Tuple<string,string,string>(a.Attribute("difficultyId").Value,
parameter.Attribute("key").Value,
parameter.Attribute("value").Value)).ToList();