【问题标题】:How to get the key from a TDictionary?如何从 TDictionary 中获取密钥?
【发布时间】:2010-09-21 15:17:04
【问题描述】:

我有一个TDictionary<TKeyClass, TValueClass>

我想完成类似的事情

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

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

唯一的选择是创建 TDictionary<TValueClass, TKeyValue> 吗?这样我就可以遍历 Keys 了吗?

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

【问题讨论】:

    标签: delphi tdictionary


    【解决方案1】:

    使用枚举器。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      • 2020-02-29
      相关资源
      最近更新 更多