2017-10-11 16 views
-1

我有整數元組的列表應用不同的整數的元組的清單的ITEM2的基礎上在c#

List<Tuple<int, int>> list = new List<Tuple<int, int>>(); 
list.Add(new Tuple<int, int>(1,12)); 
list.Add(new Tuple<int, int>(1,2)); 
list.Add(new Tuple<int, int>(1,18)); 
list.Add(new Tuple<int, int>(1,12)); 

我想刪除ITEM2的冗餘值,它是12在這種情況下

更新的列表也應該是List>。 (相同類型),但具有不同的值。類型List>的新元組只應包含以下內容:

list.Add(new Tuple<int, int>(1,2)); 
list.Add(new Tuple<int, int>(1,18)); 
list.Add(new Tuple<int, int>(1,12)); 

任何幫助?

+1

你只關心第二個元組值嗎?這意味着,這是你唯一需要區分的唯一一個?或者只重複item1和item2的匹配? – maccettura

+0

因此,這就是我需要這兩個值的問題,即我希望同一個類型的元組與值爲 – Rimmy

+0

的那個評論沒有任何意義。如果你有一個帶有(2,12)的Tuple,如果它是你輸出的一部分,會發生什麼,因爲第一個值是唯一的,還是應該排除,因爲第二個值是重複的? – maccettura

回答

0

如果你只想要獨特的數字對這個可以很容易地通過使用Distinct()來完成:

list = list.Distinct().ToList(); 

如果你只關心只有項目2刪除副本,然後使用GroupBy()Select()First()各組:

list = list.GroupBy(x => x.Item2).Select(x => x.First()); 

我做了一個小提琴here演示兩種方法

編輯

從您的最新評論,這聽起來像你想使用我提出的第二個方法(的GroupBy項目2和選擇各組第一)。

相關問題