2013-07-18 41 views

回答

0

如果必須迭代它,字典並不是一個好的選擇。它是基於散列鍵值直接快速查找對象的。

如果你想通過不同的值來評估它們,列表可能是一個更好的選擇。

字典確實有一個IEnumerable接口,所以你可以使用foreach來遍歷所有的條目。你必須聲明一個類型適當的KeyValuePair來在迭代器中使用,但是從那裏開始就非常簡單。

作爲一個例子:

foreach(KeyValuePair<string, myObjectType) kvp in MyDictionary) 
     if (kvp.Key.Contains("foo") then System.Console.WriteLine(kvp.Key); 
0

鍵在字典是唯一的,這樣就會有隻有一個foo1在字典鍵。

當存在多個值時,您對集合進行迭代。

0

通過按鍵和列表迭代返回,如果與子串的具體關鍵是找到

foreach(string key in myDictonary.Keys) 
    if(key.Contains("yourString")) 
    //return key 
2

我假設你正試圖從你的字典中篩選出的值列表?

你可以試試下面的代碼,它會過濾掉那些對與主要包含「F001」:

Dictionary<string, string> filterValues = myValues.Where(s => s.Key.Contains("f001")).ToDictionary(s => s.Key, s => s.Value);