2017-04-26 46 views
1

我有一個List<KeyValuePair<string, Records> mylist;條件使用LINQ

我想循環列表的foreach不同的鍵值。 類似於

foreach(var item in myList.select(/\*query the disctinct values of key here ?*/) 

是否有可能?怎麼樣 ?

+1

您可以通過查找[here](http://stackoverflow.com/questions/998066/linq-distinct-values)來獲得良好的立足點,對於初學者。 – gravity

+0

我會檢查它,謝謝 –

+1

如果您有一個具有重複鍵的對的列表,你將如何確定哪個值用於有多個值綁定的鍵?例如:'key:1,value:「hello」'; '鍵:1,值:「世界」'。你如何選擇「你好」和「世界」,因爲他們有相同的密鑰? –

回答

4

你可以做

foreach(var item in myList.Select(x => x.Key).Distinct()) 
{ 
    //Your Logic 
} 

myList.Select(x => x.Key).Distinct()會給你不同的按鍵和foreach將循環在他們。

+0

這似乎正是我需要的東西。我有一個錯誤雖然,'不能轉換lambda表達式類型'System.Collections.Generic.IEqualityComparer >' ' –

+1

@YthioCsi:我已經更新了我的答案。 –

+0

它會循環myList中的每個元素嗎?或者每個不同的密鑰只有一次? –