我需要在使用自定义比较器的 TObjectList 上实现二进制搜索,我相信使用 TCustomComparer。
目标:二分查找返回列表中符合特定属性参数的实例。
例如:
TMyClass=class
public
Index:integer
end;
TMyObjectList=TObjectList<TMyClass>;
begin
...
aMyClass.Index:=1;
aMyObjectList.binarysearch(aMyClass, aMyClassRef)
...
end;
或者简单地说:
begin
...
aMyObjectList.binarysearch(1, aMyClassRef)
...
end;
我想循环并取回列表中也有 Index==1 的 TMyClass 实例。
在 C++ 中,重载 '==' 运算符可实现此目标。
新的 Delphi '帮助'相当稀少,分散在周围,很难找到,而且我对新的 Delphi 泛型的所有细微差别都不是很熟悉。
那么 - 我如何使用 Generics.TObjectList 在 Delphi XE 中做到这一点?
(使用德尔福 XE)。
TIA