<field name="value" value="A" />
<field name="value" value="B" />
<field name="text" value="C" />
<field name="text" value="D" />
<field name="key" value="E" />
当我过滤时,我需要为“值”获取一个元素,“text”的一个元素和“key”的一个元素(是,“key”只有一个元素,应该返回)
我试过
elements.Select(item=>item.Attribute("name")).Distinct();
这只返回XAttribute但我需要整个XElement。
答案 0 :(得分:3)
听起来你需要来自MoreLINQ的DistinctBy
:
var distinct = elements.DistinctBy(x => x.Attribute("name").Value);