我知道我可以这样做:
const
arrayOfIntegers : Array[1..15] of Integer = (3,2,8,10,1,6,2,13,13,3,13,13,13,3,45);
Run Code Online (Sandbox Code Playgroud)
但是我该如何做呢?
var
arrayOfIntegers : Array[1..15] of Integer;
begin
arrayOfIntegers := (3,2,8,10,1,6,2,13,13,3,13,13,13,3,45);
end;
Run Code Online (Sandbox Code Playgroud)
一旦我尝试编译上面的代码,我得到E2029')'预期,但','发现
Lin*_*nas 12
您没有提到您正在使用的Delphi版本,但在现代Delphi中,您可以执行以下操作:
var
arrayOfIntegers : TArray<Integer>;
begin
arrayOfIntegers := TArray<Integer>.Create(3,2,8,10,1,6,2,13,13,3,13,13,13,3,45);
end;
Run Code Online (Sandbox Code Playgroud)
Arn*_*hez 11
典型用途如下:
type
TIntegerArray1to15 = Array[1..15] of Integer;
const
INIT_INT_1_15_ARRAY: TIntegerArray1to15 = (3,2,8,10,1,6,2,13,13,3,13,13,13,3,45);
var
arrayOfIntegers : TIntegerArray1to15;
begin
arrayOfIntegers := INIT_INT_1_15_ARRAY;
.... use and update arrayOfIntegers[]
end;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您应该更好地定义自己的类型(代码不会更慢或更大,并且您将能够在此类型的实例之间进行分配).并且您将确保您的阵列边界符合预期(1..15).
该const
语句将被编译为"引用"数组,该数组将被复制到arrayOfIntegers
本地变量中.我把它设为大写,在声明常量时有点常用(但不是强制性的 - 这只是个人品味).
如果你希望你的代码更通用和可重用(如果你想成为一个懒惰的程序员,恕我直言)你可能依赖于动态数组和/或array of const
参数(如果你的数组以索引0开头).
归档时间: |
|
查看次数: |
9381 次 |
最近记录: |