C# 从System.Collections.Generic.Dictionary`2[System.Object,System.Object]读取数据

C# 从System.Collections.Generic.Dictionary`2[System.Object,System.Object]读取数据,c#,C#,我正在努力从IDictionary中读取数据,非常感谢您的帮助。当它只是一个对象数组时,我已经提取了我需要的其他数据,但现在我有一个KeyValuePair要处理。当我尝试将其转换为KeyValuePair时,我得到一个InvalidCastException,因此我这样做是为了尝试查找类型: var test = plist["CFBundleIcons"]; MessageBox.Show(test.GetType().ToString()); 返回System.Collections.G

我正在努力从IDictionary中读取数据,非常感谢您的帮助。当它只是一个对象数组时,我已经提取了我需要的其他数据,但现在我有一个KeyValuePair要处理。当我尝试将其转换为KeyValuePair时,我得到一个InvalidCastException,因此我这样做是为了尝试查找类型:

var test = plist["CFBundleIcons"];
MessageBox.Show(test.GetType().ToString());
返回System.Collections.Generic.Dictionary`2[System.Object,System.Object]。我的第一个问题是2是什么意思?我以前用过字典,以前从未见过

如果这有助于进一步理解我的主要问题,我已经附上了下面本地人视图的截图——我正在尝试读取图标名称。提前谢谢


这是CLR编码泛型类型名称的方式`2表示类型中类型参数的数量


用C术语来说,这是字典。

它只是.NET如何用两个类型参数对泛型类型的名称进行编码。plist[CFBundleIcons]是一本字典。因此,与其将其转换为KeyValuePair,不如将其转换为正确的类型。

2是Dictionary类中泛型参数的计数。非常感谢!我换了演员,终于又开始工作了。谢谢你的帮助!我已经修好了演员阵容,现在效果很好。