我试图将一个属性用作关键字,另一个用作值。如果我使用(是XDOC在例如XDocument对象):从XElement中取2个属性来创建一个字典LINQ
Dictionary<string, XElement> test = xDoc.Descendants()
.Where<XElement>(t => t.Name == "someelement")
.ToDictionary<XElement, string>(t => t.Attribute("myattr").Value.ToString());
我得到一本字典与myattr值为键(这是我想要什么),但整个的XElement对象的值。
我想要做的是选择第二个属性设置为每个字典项目的值属性,但似乎无法弄清楚。
是否有可能在1 Linq声明中做到这一切?好奇已经吸引了我!
干杯!
很好用!感谢您的答案,但为什么演员改变了事情?如果我在第二个表达式中进行投射,它会查找比较器。 – AndrewC 2010-06-09 17:04:27
@AndyC,你想要投什么? ToDictionary有一些不同的重载,其中一个采用比较器。 – driis 2010-06-09 17:06:07
在我原来的代码中我有,取出它已经使它的工作。只是好奇这是为什么。 –
AndrewC
2010-06-09 17:06:54