词典问题反馈

BUG反馈 · 910 次浏览
甄瑜. 创建于 2021-02-04 09:36

向词典内写入大量数据时(50个键以上),偶尔会发生顺序错乱的问题(50%以上几率);

比如我依次添加1→2→3→4→5,有时会是正常的1→2→3→4→5,有时就是乱序的;

不知道是不是bug,1.22.31-1.22.35均有这个问题


Cesar 2021-02-04 09:38 :

词典设计上是没有考虑顺序的,所以即使出现顺序错乱也是不足为奇的

甄瑜. 2021-02-04 09:41 :

我之前添加的时候都是按添加顺序显示的,按1→2→3→4→5添加,下次读取时显示就是1→2→3→4→5;也没有使用多线程的选项,就乱掉了,就比较奇怪QAQ

回复内容
CL 2021-02-04 09:56
#1

词典这个数据结构本身是没有顺序的。如果希望得到排序后的key或value,可以在表达式里排序输出

{dict}.Keys.OrderBy(x => x).ToList()

{dict}.Values.OrderBy(x => x).ToList()

甄瑜. 2021-02-04 10:09 :

我再试试看吧,不知道是不是我编动作的bug,是按这个代码排序的;而且每次调试运行的时候,排序都是正确的,我就很绝望,找不到问题(▰˘︹˘▰)

甄瑜. 回复 甄瑜. 2021-02-04 10:17 :

正常点击动作运行时,出现这个问题的概率很高;调试运行时,又几乎不出现这个问题(▰˘︹˘▰)

回复主贴