如何从TDictionary获取密钥?

时间:2010-09-21 15:17:04

标签: delphi tdictionary

我有TDictionary<TKeyClass, TValueClass>

我想完成像

这样的事情
for i := 0 to MyDictionary.Count -1 do
  ShowMessage(MyDictionary.Keys[i].AStringProperty)

我无法再访问密钥如果我完全了解它们,我就可以使用它们。

唯一的选择是创建TDictionary<TValueClass, TKeyValue>吗?所以我可以循环使用Keys?

我找到的工作方法是创建一个TList<TKeyClass>,但这是我不喜欢的。

1 个答案:

答案 0 :(得分:14)

使用枚举器。

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

由于TDictionary是一个哈希表,因此无法使用整数索引(如数组或TList)访问它。但是一个普查员工作得很好。