2011-10-17 18 views
-1

我只想其中ID等於「ZJ」如何使用.Where訪問字典中的值?

Dictionary<string,string> z = dm.UpdateAndReturnIdol(User, id, v).where(keys.equals("zj")); 
+0

什麼是UpdateAndReturnIdol? –

+4

請不要在「C#:」之類的前綴加上前綴。這就是我們在[so]上使用標籤的原因。 –

+1

您想在返回後過濾''UpdateAndReturnIdol''是一個'Dictionary '的返回類型嗎?或者它是否會返回您想要過濾的其他類型的序列,並且還會投影到字典中? –

回答

5

如果返回類型爲Dictionary<string, string>那麼你可以仰望的價值,例如任何值

Dictionary<string, string> dictionary = dm.UpdateAndReturnIdol(User, id, v); 
string value = dictionary["zj"]; 

,或者如果您不知道是否會有一個條目:

Dictionary<string, string> dictionary = dm.UpdateAndReturnIdol(User, id, v); 
string value; 
if (dictionary.TryGetValue("zj", out value)) 
{ 
    // Use the value 
} 

沒有必要在這裏使用Where - 一本字典的整個的是,你可以看一下通過按鍵有效地...並且每個鍵只能有一個值,所以不需要獲得值的序列

+1

哈哈好點和+1 – BrokenGlass

+0

是的,我也錯過了明顯的。只有當用戶想要進行部分或模糊匹配時,「.Where」對關鍵字纔有意義。如果是這樣,(a)這可能是對字典的濫用,但(b)「Where」是有意義的。否則......不。 –

+0

愛這個事實,只要喬恩Skeet張貼他的答案,其他所有答案消失 –