使用Time作为词典的关键

时间:2012-11-02 19:38:00

标签: delphi datetime dictionary delphi-2010

我想使用TTime作为TDictionary的关键,但我遇到了TTime比较的问题,因此我正在寻找替代方法。

我特别的问题是,我正在尝试使用TTime个对象来表示一些小时的议程,并将它们存储在TDictionary的顶部坐标旁边。鉴于我想在网格上绘制任务的小时,我可以根据任务的小时轻松地从字典中检索其顶部坐标。不幸的是,它不起作用,因为TTime comparisons give unexpected results。我无法使用TTime从字典中可靠地检索坐标。

  • 你会如何解决这个问题?
  • 你会完全跳过TDictionary的事情并采用另一种方法吗?

1 个答案:

答案 0 :(得分:7)

TDictionary构造函数接受IEqualityComparer<TKey>参数,它将用于比较键值。为TTime实现该接口(通过继承TEqualityComparer)并使用SameTime执行比较。