Delphi for..in循环集枚举顺序
发布时间:2020-12-15 04:27:13 所属栏目:大数据 来源:网络整理
导读:我想迭代一组特定的值.下面简单的例子 program Project1;{$APPTYPE CONSOLE}var a,b: word; wait: string;begin a := 0; for b in [1,5,10,20] do begin a := a + 1; writeln('Iteration = ',a,',value = ',b); end; read(wait); end. 这里的示例代码是我期
我想迭代一组特定的值.下面简单的例子
program Project1; {$APPTYPE CONSOLE} var a,b: word; wait: string; begin a := 0; for b in [1,5,10,20] do begin a := a + 1; writeln('Iteration = ',a,',value = ',b); end; read(wait); end. 这里的示例代码是我期望的,并产生以下内容 迭代= 1,值= 1 迭代= 2,值= 5 迭代= 3,值= 10 迭代= 4,值= 20 现在如果我改变集合的顺序 for b in [20,1] do 输出与原始输出相同,即不保留值的顺序. 实现这一点的最好方法是什么? 解决方法
集合不是订购的容器.您不能更改集合内容的顺序. for-in循环总是以数字顺序迭代集合.
如果您需要一个有序的数字列表,则可以使用数组或TList< Integer>. var numbers: array of Word; begin SetLength(numbers,4); numbers[0] := 20; numbers[1] := 10; numbers[2] := 5; numbers[3] := 1; for b in numbers do begin Inc(a); Writeln('Iteration = ',b); end; end. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |