我如何使用Linq从对象列表中获取唯一属性列表?
我试图使用Linq返回一个id列表,给出一个id为属性的对象列表。 我希望能够在不循环每个对象的情况下做到这一点,并提取我找到的唯一ID。
我有一个MyClass类型的对象列表,这个类的其中一个属性是一个ID。
public class MyClass
{
public int ID { get; set; }
}
我想要做的是写一个Linq查询来返回这些Ids列表
我该如何做到这一点给予一个IList<MyClass>
,使它返回一个IEnumerable<int>
的id?
我确信它必须可以使用Linq在一行或两行中完成,而不是循环遍历MyClass列表中的每个项目并将唯一值添加到列表中。
任何帮助创建一个优雅的解决方案将不胜感激!
IEnumerable<int> ids = list.Select(x=>x.ID).Distinct();
使用Distinct运算符:
var idList = yourList.Select(x=> x.ID).Distinct();
使用直接Linq和Distinct()
扩展:
var idList = (from x in yourList select x.ID).Distinct();
链接地址: http://www.djcxy.com/p/51359.html
上一篇: How do I use Linq to obtain a unique list of properties from a list of objects?
下一篇: Clean some properties value in List with Linq based on a value of the list