仅通过一个字段从对象列表中查找不同的值
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>
(或任何类型的年份)
无需进行分组 - 您只需要结果中的年份,所以只需抓住它即可。
如何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>
(或任何类型的年份)
无需进行分组 - 您只需要结果中的年份,所以只需抓住它即可。