【问题标题】:Are there Hash Arrays in Delphi?Delphi中是否有哈希数组?
【发布时间】:2014-10-12 22:53:53
【问题描述】:

我正在学习 Delphi,但喜欢在 Perl 和 Java 中使用哈希数组。 Delphi中有比较数据结构吗?

我知道可以将 TStringList 用作哈希数组:

var 
   myHash:TStringList);

begin 

  myHash:=TStringList.Create();
  myHash.values['color']:='blue';

  Showmessage(myHash.Values['color']);  //blue   

  myHash.free;

end;

是否可以在 Delphi 中构建更复杂的数据结构,例如 Perl 的数组哈希等?

【问题讨论】:

    标签: java arrays perl delphi hash


    【解决方案1】:

    如果您使用的是 Delphi 2009 或更高版本(希望以后,因为原始实现中存在严重错误),您可以在 Generics.Collections 单元中找到 TDictionary 类。 TDictionar<TKey, TValue> 用作键到值的哈希映射,这应该正是您要寻找的。​​p>

    【讨论】:

    • 幸运的是,在 Delphi 2009 中有针对 Generics.Collection 错误的解决方法(stackoverflow.com/questions/4216733 是最严重的 iirc)。 (我只使用非常基本的通用集合功能)
    • 那么在Delphi 7中没有TDictionary类,我工作时必须要工作的?
    • @user3133542:不,它是在 2009 年引入的。
    猜你喜欢
    • 2017-04-28
    • 2017-04-13
    • 1970-01-01
    • 2020-07-19
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    相关资源
    最近更新 更多