假设我有一个记录数组,我想根据记录中的一个字段对其进行排序。实现这一目标的最佳方式是什么
TExample=记录
排序器:整数;
一些东西:字符串;
终止
var-SomeVar:TExample的数组;
您可以将数组元素的指针添加到TList,然后使用比较函数调用TList.Sort,最后创建一个新数组并按所需顺序从TList中复制值
但是,如果您使用的是下一个版本D2009,那么有一个新的集合库可以对数组进行排序。它需要一个可选的IComparer<;TExample>自定义排序顺序的实现。以下是针对您的具体案例所采取的行动:
TArray.Sort<;TExample>;(SomeVar,TDelegatedComparer<;TExample>;.Construct(
函数(常量左、右:TExample):整数
开始
结果:=t比较程序<;整数>;.Default.Compare(Left.SortOrder,Right.SortOrder);
(完),;