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

本文关键字:列表 对象 查找 字段 一个 | 更新日期: 2023-09-27 17:59:55

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

例如,要查询的集合:

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();

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

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

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

将退还您IEnumerable<int>(或任何类型的年份)

不需要进行分组-你只需要结果中的年份,所以只需要抓住它。