我想迭代一组特定的值.下面简单的例子
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.