gpt4 book ai didi

delphi - 通用字典类是否有通过索引获取键的方法?

转载 作者:行者123 更新时间:2023-12-03 18:01:38 26 4
gpt4 key购买 nike

这可能是一个非常简单的问题,但我认为我是精神盲或什么的;我如何通过 Delphi (10.1) 中的字典类中的索引获取键。我的意思是该结构有一个名为 Count 的属性,所以它必须有某种数组或列表,为什么我不能通过索引获取键。

我还在 Dictionary 类中尝试了 KeyCollection 属性,但它也没有任何用处。我需要这样的东西:

key: string;
key := dicTest.GetKey(keyIndex);

非常感谢。

最佳答案

Delphi RTL 通用字典是无序的。由于无序,容器中的项目没有有意义的索引。

可以使用 Keys 属性枚举键:

var
dict: TDictionary<string, Integer>;
key: string;
....
for key in dict.Keys do
Writeln(key);

同样,可以使用 Values 属性枚举值。

var
dict: TDictionary<string, Integer>;
value: Integer;
....
for value in dict.Values do
Writeln(value);

如果您想枚举键/值对,那么字典本身会为此提供一个枚举器:

var
dict: TDictionary<string, Integer>;
item: TPair<string, Integer>;
....
for item in dict do
Writeln(item.Key, ', ', item.Value);

请注意,对于这些枚举器中的每一个,都不能保证项目的顺序。向字典中添加新项等简单操作可能会导致枚举项的顺序发生变化。

关于delphi - 通用字典类是否有通过索引获取键的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47572176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com