System.Collections.Generic.KeyNotFoundException:给定的键不在字典中;异常进入c#

时间:2016-02-15 15:13:52

标签: c# asp.net dictionary

我有一个字典动态地从字典中获取该值,但有时它会给出异常。有人可以帮忙吗

如何在字典中执行某些操作之前检查test [typeof(T)]。Key.ColumnName的值。

如果我使用!string.isnullorEmpty,那么它本身就是抛出错误。 代码

 int ID=123;
 private Dictionary<Type, DataTableAttribute> test
 parameters.AddInt32Parameter(test[typeof(T)].Key.ColumnName, ID);

- 感谢

1 个答案:

答案 0 :(得分:0)

您可以使用ContainsKey来避免异常

int ID=123;
Dictionary<Type, DataTableAttribute> test

// fill test-dictionary

if (test.ContainsKey(typeof(T)) 
{
    parameters.AddInt32Parameter(test[typeof(T)].Key.ColumnName, ID);
}

另外使用TryGetValue

DataTableAttribute attr;
if (test.TryGetValue(typeof(T), out attr) 
{
    // ...
}