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

我的特殊问题是,我正在尝试将某些小时数放在一边,并以TTime对象表示,然后将它们存储在TDictionary中,并与它们的最高坐标一起存储。给定要在网格上绘制的任务的小时数,我可以根据任务的小时数轻松地从字典中检索其最高坐标。不幸的是,由于TTime comparisons give unexpected results,它不起作用。我无法使用TTime从字典中可靠地检索坐标。


您将如何解决这个问题?
您是否会完全跳过TDictionary,而采用另一种方法?

最佳答案

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

关于delphi - 使用时间作为字典的关键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13201914/

10-09 16:56