簡體   English   中英

根據列表中的特定列值選擇不同的行

[英]Select Distinct rows based a particular column value in list

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

但是無法獲得適當的結果。 你能糾正我並指出我的錯誤嗎? 謝謝您的幫助! :)

您只需GroupBy ,然后獲得First

 lstFinal = lstcarIP.GroupBy(s => s.Name)
                    .Select(g => g.First())
                    .ToList<Car>();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM