【发布时间】:2012-04-19 13:45:53
【问题描述】:
请解释为什么字典的 'getAt' 方法会失败
List<BString> infoKeys = new List<BString>(infoDict.Keys);
if (infoKeys.Contains(TorrentFileKeyWords.FILES_KEY) == true) //"files"
{
List<BaseType> multiFiles = ((BList)dict[TorrentFileKeyWords.FILES_KEY]).Value; <<< this fails
所以 infoDict 是一个Dictionary<String, BString>
包含在 infoDict.Keys 上用于查找特定项目(BString 类型)
但是第 4 行失败了......没有感觉
我不使用 c#.. 所以我必须重写哪些方法(现在我有:GetHashCode、==、!= & equals)
【问题讨论】:
-
你遇到了什么错误?
-
您没有提供足够的代码来正确地帮助您,也没有出现错误。请阅读tinyurl.com/so-hints。
-
真正的类型是什么?如果
infoDict是Dictionary<String, BString>,那么infoDict.Keys将是String的集合,而不是BString的集合。
标签: c# dictionary contains