7

我有一个TDictionary<TKeyClass, TValueClass>.

我想完成类似的事情

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

我不能再访问这些密钥了,如果我完全知道它们,我就可以使用它们。

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

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

4

1 回答 1

14

使用枚举器。

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

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

于 2010-09-21T15:43:35.750 回答