select 基于属性的不同 xelement
select distinct xelement based on attribute
<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" />
当我过滤时,我需要为 "value" 获取一个元素,为 "text" 获取一个元素,为 "key" 获取一个元素(是的,"key" 只有一个元素应该归还)
我试过了
elements.Select(item=>item.Attribute("name")).Distinct();
这 returns 只有 XAttribute 但我需要整个 XElement。
听起来你需要 DistinctBy
来自 MoreLINQ:
var distinct = elements.DistinctBy(x => x.Attribute("name").Value);
<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" />
当我过滤时,我需要为 "value" 获取一个元素,为 "text" 获取一个元素,为 "key" 获取一个元素(是的,"key" 只有一个元素应该归还)
我试过了
elements.Select(item=>item.Attribute("name")).Distinct();
这 returns 只有 XAttribute 但我需要整个 XElement。
听起来你需要 DistinctBy
来自 MoreLINQ:
var distinct = elements.DistinctBy(x => x.Attribute("name").Value);