我知道在 Delphi 中,当您想允许使用索引运算符 [] 时,您必须执行类似的操作,
property Item[index: integer]: integer read GetData; default;
如何在 Delphi 中实现多维数组,使其允许使用类似的东西:
matrix := TMatrix<integer>.Create(3,3);
matrix[0][2] := 5;
WriteLn(matrix[0][2]);
最佳答案
你不能那样使用[][]
。但是您可以改为在单个属性中声明多个索引,例如:
type
TMatrix<T> = class
private
function GetData(index1, index2: Integer): T;
procedure SetData(index1, index2: Integer; value: T);
public
constructor Create(dim1, dim2: Integer);
property Item[index1, index2: Integer]: T read GetData write SetData; default;
end;
然后你可以这样做:
matrix := TMatrix<integer>.Create(3,3);
matrix[0, 2] := 5;
WriteLn(matrix[0, 2]);
关于arrays - Delphi 中二维数组的索引运算符属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37603003/