将HashTable的Keys复制到ArrayList中报错!

ArrayList keys = new ArrayList(QuoteCache.Keys);

QuoteCache.count=5000+

报错:目标数组的长度不足,无法复制集合中的所有项。请检查数组索引和长度。

Debug运行的时候虽然会报错,但F5继续后还能运行,但是不调试运行就卡死,是怎么回事。

摇曳的蔷薇
浏览 949回答 4
4回答

哈士奇WWW

QuoteCache.count=5000+ 是啥情况,你把源内容的空间变更了吧,keys这个的长度还是没变更前的,估计空间不够越界了

墨色风雨

Hashtable实现了IEnumerable怎么可能不能遍历呢? foreach(DictionaryEntry de in yourHashtableInstance) {   //.... }

ITMISS

因为在循环中还要修改集合中的数据,所以不能使用foreach。

人到中年有点甜

@唯恐: 你要修改什么?修改value的话直接改就完了,用遍历去搞就不用用hash类的玩意了,直接List<Tuple<T1,T2>>
打开App,查看更多内容
随时随地看视频慕课网APP