実はたったこれだけ!
// uses に System.Generics.Defaults を追加
FList.Sort( // FList は System.Generic.Collections.TList<T> 型
TComparer<T>.Construct(
function(const L, R: T): Integer
begin
Result := // マイナス値, 0, プラス値、を返す処理
end
)
);
たとえば Integer だとこう
FList.Sort(
TComparer<Integer>.Construct(
function(const L, R: Integer): Integer
begin
Result := L - R;
end
)
);
なんで、こんな事を書いたかというとわざわざ Comparer を定義してインスタンスを作って渡して、というすごい面倒くさい事を書いてる記事があったので。
Generic 版の TList もこんなに簡単だよ。