我有一个 TDictionary<TKeyClass, TValueClass>

我想完成类似的事情

for i := 0 to MyDictionary.Count -1 do
  ShowMessage(MyDictionary.Keys[i].AStringProperty)

我不能再访问这些 key 了,如果我完全了解它们,我就可以使用它们。

唯一的选择是创建 TDictionary<TValueClass, TKeyValue> 吗?所以我可以通过 key 循环?

我发现的解决方法是创建一个 TList<TKeyClass>,但这是我不喜欢的。

最佳答案

使用枚举器。

for Key in MyDictionary.Keys do
  ShowMessage(Key.AStringProperty);

由于 TDictionary 是一个哈希表,因此您不能像数组或 TList 那样使用整数索引来访问它。但是枚举器工作得很好。

关于delphi - 如何从 TDictionary 获取 key ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3761740/

10-10 20:19