永发信息网

如何遍历并删除Dictionary集合内容

答案:2  悬赏:0  手机版
解决时间 2021-04-06 08:45
如何遍历并删除Dictionary集合内容
最佳答案
Dictionary ht = new Dictionary

foreach( KeyValuePair crrPair in ht )

{

if ( crrPair.Value.ID == 1 )

ht.remove( crrPair.Key );

}

学会使用 KeyValuePair 是关键。 每个Pair就是Dictionary中的一个元素。
全部回答
在遍历数据结构的时候,是不可以修改原数据结构的。不然就会抛出错误。   我常用的解决办法是做一份拷贝,遍历这个拷贝。(如果数据不是很大的话)   比如,这个代码:   c#代码   1.idictionary ht = new dictionary();   2.ht.add(1, "one");   3.ht.add(2, "two");   4.   5.// print "one,two"   6.console.writeline(string.join(",", ht.values.select(i => i.tostring()).toarray()));   7.   8.foreach (int key in new list(ht.keys)) {   9. if (key == 1) ht.remove(key);   10.}   11.   12.// print "two"   13.console.writeline(string.join(",", ht.values.select(i => i.tostring()).toarray()));   idictionary ht = new dictionary();   ht.add(1, "one");   ht.add(2, "two");   // print "one,two"   console.writeline(string.join(",", ht.values.select(i => i.tostring()).toarray()));   foreach (int key in new list(ht.keys)) {   if (key == 1) ht.remove(key);   }   // print "two"   console.writeline(string.join(",", ht.values.select(i => i.tostring()).toarray())); 我在遍历的时候,做了一份拷贝。代码是 new list(ht.keys),用到了 list 的构造拷贝函数,   会对 ht.keys 做一份拷贝。之后的 foreach 其实是在对这个拷贝做遍历。 转载 guojian3021886
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
晏殊的诗词,晏殊的词集叫什么?
出国3万多一个月可靠嘛
单选题下列各句没有语病的一句是A.经过苦苦思
新昌镜岭农家乐山庄地址在哪,我要去那里办事
非季节性停工损失计入什么科目?,谢谢
耐克小赵云,请大神鉴定下!拜托拜托!
桑塔纳2000缺防冻液怎么提示
狗狗发烧40度。怎么办啊现在~今天晚上它不会
中国太平副部级央企 怎么样
如图所示.左图为肉眼看到的幼苗的幼根,右图
王者荣耀妲己台词隐藏,王者荣耀的妲己说的几
像古往今来这样的词语
南诏国为什么每次都靠斩圣女平息叛乱呢?
轿车几厢是什么意思,车牌白牌bb打头,是代表
我们是最好的兄弟 同甘共苦的兄弟(这是什么
推荐资讯
现在还有15款汉兰达卖吗
仿写句子,狐狸不仅狡猾,而且好奇心特别强
为什么我叫她做我女朋友她老说不呢?出去玩要
极光是什么?怎么会存在极光呢?对人体有害吗
手工蛋卷是怎么配料的
法院执行庭不按法院判决书执行怎么办
急求颁奖晚会的--主持讲稿!!!!
我要25号从介休东站乘坐高铁到咸阳秦都谁知道
厨师为什么要戴高帽子,厨师为什么要戴这么高
老婆,你打扮一下再出门行吗,我带你出去都觉
单选题加粗字的部首、笔画、义项都正确的是像
女兵体能测试,测什么啊?多少及格
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?