仅通过一个字段从对象列表中查找不同的值

Find distinct values from a list of object by one field only

如何select 区分对象列表中的值? 我只想获取特定字段的列表,而不是整个对象的列表。

例如要查询的集合:

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

然后我想 return 不同的年份来获得以下结果集合

2009
2010
2011
2012

我试过了

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

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

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

你 return 会 IEnumerable<int> (或任何类型的年份)

无需进行分组 - 您只需要结果中的年份,所以只需抓住它即可。