2

我有以下列表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

即,如果名称再次出现,则只应将一个条目添加到list<Car> lstFinal. 我尝试使用LastorDefaultGroupBy

 lstFinal= lstcarIP.GroupBy(s => s.Name)
                            .Where(g => g.Count() > 1)
                             .SelectMany(g => g)
                             .ToList<Car>();

但无法得到正确的结果。您能否纠正我并指出我的错误。谢谢您的帮助!:)

4

1 回答 1

6

你只是GroupBy,然后得到First

 lstFinal = lstcarIP.GroupBy(s => s.Name)
                    .Select(g => g.First())
                    .ToList<Car>();
于 2013-05-22T04:20:28.047 回答