C# 从Exception.Data c按键获取值#

C# 从Exception.Data c按键获取值#,c#,exception,C#,Exception,我想使用数据属性来存储我想在新异常中抛出的信息,我已经找到了如何使用此代码片段循环遍历每个字典条目 foreach (DictionaryEntry de in ex.Data) 但是我更喜欢通过键名来获取值,因为在数据对象中有不同的对象类型。如果我可以通过键名获得值,那么将它们转换为正确类型的对象就更容易了 任何人都知道如何按键名获取异常。数据字典条目吗?如果您知道键,那么使用字典将更有效率: foreach (DictionaryEntry de in ex.Data) { if

我想使用
数据
属性来存储我想在新异常中抛出的信息,我已经找到了如何使用此代码片段循环遍历每个
字典条目

foreach (DictionaryEntry de in ex.Data)
但是我更喜欢通过键名来获取值,因为在
数据
对象中有不同的对象类型。如果我可以通过键名获得值,那么将它们转换为正确类型的对象就更容易了


任何人都知道如何按键名获取
异常。数据
字典条目吗?

如果您知道键,那么使用字典将更有效率:

foreach (DictionaryEntry de in ex.Data)
{
    if (de.Key == "something")
    {
        //do something
    }
}
var yourObj = ex.Data["your_key"];

你什么意思
DictionaryEntry
为您提供了可以读取的
键和
值属性。您还需要什么?在循环中使用
de.key
,因为
ex.Data[“your_key”]
将简单地返回
null
,如果
IDictionary
中不存在密钥,您甚至可以实现某种
KeyNotFoundException