为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
摇曳的蔷薇 2018-12-07 09:27:29
ArrayList keys = new ArrayList(QuoteCache.Keys); QuoteCache.count=5000+ 报错:目标数组的长度不足,无法复制集合中的所有项。请检查数组索引和长度。 Debug运行的时候虽然会报错,但F5继续后还能运行,但是不调试运行就卡死,是怎么回事。
查看完整描述

4 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

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

查看完整回答
反对 回复 2018-12-24
?
墨色风雨

TA贡献1853条经验 获得超6个赞

Hashtable实现了IEnumerable怎么可能不能遍历呢?

foreach(DictionaryEntry de in yourHashtableInstance)

{

  //....

}

查看完整回答
反对 回复 2018-12-24
?
ITMISS

TA贡献1871条经验 获得超8个赞

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

查看完整回答
反对 回复 2018-12-24
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

@唯恐: 你要修改什么?修改value的话直接改就完了,用遍历去搞就不用用hash类的玩意了,直接List<Tuple<T1,T2>>

查看完整回答
反对 回复 2018-12-24
  • 4 回答
  • 0 关注
  • 948 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信