2012-02-29 194 views
23

我試圖從我的字典中刪除密鑰,如果密鑰是某個密鑰。通過密鑰名稱從字典中刪除密鑰

PARAMETERLIST是dictionary<string,string>

parameterList.Remove(parameterList.Where(k => String.Compare(k.Key, "someKeyName") == 0)); 
+5

您的問題不包含問題。 – phoog 2012-02-29 06:48:17

+0

你的代碼會打敗字典的目的。避免對詞典使用LINQ。 – Groo 2012-02-29 06:49:19

+1

我總是先看看[MSDN文檔](http://msdn.microsoft.com/en-us/library/kabs04ac.aspx)。恕我直言,這是尋找.NET API/SDK問題答案時的最佳選擇。 – Samsinite 2012-02-29 06:50:24

回答

47

這應該是足夠了:

parameterList.Remove(key); 
21

通過簡單地取消導航鍵:

parameterList.Remove("someKeyName"); 

檢查:

if (parameterList.Remove("someKeyName")) 
{ 
    // key removed 
} 
else 
{ 
    // dictionary doesn't contain above key 
} 
+0

以及我必須以某種方式檢查,如果該鍵存在,然後第一我猜,否則我會得到一個空的ref例外,如果它不。 – PositiveGuy 2012-02-29 06:47:22

+6

@CoffeeAddict,如果字典不包含這個鍵,'Remove'返回false,否則 - 'true'。 – 2012-02-29 06:48:30

+0

可能類似於if(parameterList [「someKeyName]!= null)parameterList.Remove(」someKeyName「); – PositiveGuy 2012-02-29 06:48:49