Dictionary的奇怪问题
vb吧
全部回复
仅看楼主
level 10
设计的游戏使用了大量的Dictionary,大约有几千行代码都跟它相关。它跟集合的区别是可以判断key是否存在,不用判断也可以直接取数据。如果key不存在的话,是取不到数据的。问题就出在这里。
如果此键不存在,就会自动创建一个键,造成容器多出一组。但是它是不存在的存在着。判断这个key是存在的,但是访问key就直接出错。甚至用for each i in Dictionary
2013年11月26日 04点11分 1
level 10
循环所有键就会出错。也就是说现在比如有1、2、3、4、5个数,其实3的数是存在的,但是循环到3就出错。因为它只是存在,但它又不存在。所以就出现了不存在的存在这种情况,准确来说应该叫存在的不存在这种情况。这种情况删除3这个Key也会出错。不知道有什么好的解决办法。
我也知道在取值前先判断一下key,就可以防止出错,但是代码太多。集合的级数太多,就是孙集合,重孙集合,重孙的重孙都有。问题是一出现这种情况,所以判断都没有作用的。
2013年11月26日 04点11分 2
level 11
那你就用collection啊
2013年11月26日 10点11分 3
尽量改回来吧,当初是感觉它比集合方便好多。
2013年11月27日 01点11分
1