2012-02-29 205 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