如何从对象列表中选择不同的值? 我想只得到一个特定字段的列表,而不是整个对象的列表。
例如要查询的集合:
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();
但是这将返回整个对象的集合,而不是仅返回年份值。
答案 0 :(得分:5)
distinctyears = myCollection.Select(x => x.year).Distinct()
将为您返回IEnumerable<int>
(或任何类型的年份)
无需进行分组 - 你想要的只是结果中的年份,所以只需抓住它。