根据列表中的特定列值选择不同行
本文关键字:选择 列表 | 更新日期: 2023-09-27 18:14:40
我有以下列表Lsit<Car> lstcarIP
它有以下数据
ID | Name | Year
0 - Zen - 1990
1 - Alto - 2003
3 - Zen - 2004
4 - Santro - 2000
5 - Alto - 2003
无论ID和年份如何,输出list<Car> lstFinal
都应该包含
ID | Name | Year
0 - Zen - 1990
1 - Alto - 2003
4 - Santro - 2000
或
ID | Name | Year
3 - Zen - 2004
4 - Santro - 2000
5 - Alto - 2003
ie如果Name再次出现,则只应在list<Car> lstFinal
中添加一个条目。我尝试使用LastorDefault
或GroupBy
lstFinal= lstcarIP.GroupBy(s => s.Name)
.Where(g => g.Count() > 1)
.SelectMany(g => g)
.ToList<Car>();
但不能得到正确的结果。你能纠正我并指出我的错误吗?谢谢你的帮助!:)
你只要GroupBy
,然后得到First
lstFinal = lstcarIP.GroupBy(s => s.Name)
.Select(g => g.First())
.ToList<Car>();