【编程】Delphi - TDictionary在使用for .. in 时遍历错误问题
语言与语言之间,有的时候真得注意。
受某种语言的影响,如下遍历方式:
for index in dic.keys do
begin
xxx
end;
结果发现,字典里有10个对象,为啥只给我删除了8个就出来了? 看不起谁呢?
调试一下发现,还真是删除不干净。
BaiDu了一下,没发现可利用的博客。
StackOverflow上有一个解答,《打开方式不对》
for index in dic.keys.ToArray do
begin
xxx
end;
然后就去看了一下keys的返回值,结果是一个泛型类的对象~
果然,“想当然”了。
希望各位在日后编程过程中,不要再踩这样的坑 :D

浙公网安备 33010602011771号