function TTest.getValue(key: string):integer;
begin
result := 123;
end;
procedure TTest.setValue(key:string; value : integer);
begin
raise Exception.Create('not implemented');
end;
在此实现中,对字符串键的任何访问都将返回一个值123:
t := TTest.Create();
try
writeln(t['index']);
finally
t.Free();
end;
数组本身不支持字符串键。但是,有许多框架提供此类功能。组件中使用的存储键值对的一种常见解决方案是各种类后代,
TStrings最常用的是TStringList来自模块classes。一般来说,类似情况下的主要数据结构是字典
TDictionary<TKey, TValue>。这是具有参数化键和值类型的泛型(generic、generics、template)类型。例如,您可以使用以下代码来存储字符串键和整数值。字典以及列表
TList、堆栈TStack和队列TQueue是主要的数据存储结构。它们的功能相当广泛。至于对一些对象数据的索引访问,这可以在任何类中手动实现。
为此,您需要实现 index 属性,并为其添加修饰符
default。显然,默认属性只能有一个,允许访问时不指定属性名。get/set-value让我们尽可能简单地实现这些方法。在此实现中,对字符串键的任何访问都将返回一个值
123: