2015-06-25 19 views
1

如何从对象列表中选择不同的值? 我想只获取特定字段的列表,而不是整个对象的列表。仅从一个字段中查找对象列表中的不同值

例如收集要查询:

name year 
Item1 2009 
Item2 2009 
Item3 2010 
Item4 2010 
Item5 2011 
Item6 2011 

,并从我要回不同的几年得到下面的结果集合

2009 
2010 
2011 
2012 

我试图

distinctyears = myCollection.GroupBy(x => x.year).Select(x => x.First()).ToList(); 

但是这将返回整个对象的集合,而不仅仅是年份值。

+1

[LINQ:Distinct values]的可能重复(http://stackoverflow.com/questions/998066/linq-distinct-values) –

回答

5
distinctyears = myCollection.Select(x => x.year).Distinct() 

将返回一个IEnumerable<int>(或任何类型一年)

没有必要做分组 - 所有你想要的是结果的一年,因此,只要抓住这一点。

相关问题