arrays - 访问内部数组的元素

标签 arrays delphi

给定一个这样的类:

TIntClass = class
private
    myInts : TList<Integer>;
...
end;

如何使用 [] 运算符访问内部列表的元素,例如

myIntList = TIntClass.Create();
myIntList[5];

提前致谢。

最佳答案

如果我理解正确,您需要定义一个私有(private)函数,它将充当默认属性的“getter”:

注意:代码未经测试

type
  TIntClass = class
  private
      // returns a value from myInts based on Index parameter
      function getItem(Index: Integer): Integer;
  private
      myInts : TList<Integer>;
  ...
  public
      property Items[Index: Integer]: Integer read getItem; default;
  end;

...
implementation

function TIntClass.getItem(Index: Integer): Integer;
begin
  Result := myInts[Index];
end;

所以现在你可以这样做:

procedure test;
var
  LMyIntClass: TIntClass;
  L5thElemValue: Integer;
begin
  L5thElemValue := LMyIntClass[4]; // first element is accessed using LMyIntClass[0]
end;

关于arrays - 访问内部数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11491308/

相关文章:

javascript - 如何将我的数据转换为 React Native 的 SectionList 的正确格式?

javascript - 我可以使用 Array.prototype.map 的模来每 3 个索引插入新行吗?

java - 为什么通过二维数组打印时显示整个对象属性

javascript - 记录数组原型(prototype)上的所有方法

multithreading - Delphi - ShowMessage 或 MessageDlg 时应用程序挂起

delphi - 在 Delphi 中创建一个对任何用户都具有写权限的文件

delphi - 在 Firemonkey 中打印时客户端的格式设置发生变化

Delphi XE3,丑陋的StringGrid的边框

delphi - 如何在 VCL 表单应用程序中设置 ExitCode

javascript - 有条件地将字符串和数字数组组合为对象数组