gpt4 book ai didi

delphi - 将 TDictionary 排序到数组后正确处理它

转载 作者:行者123 更新时间:2023-12-03 15:10:12 25 4
gpt4 key购买 nike

我有一个类似的 TDictionary

target_results : TDictionary<longint,double>;

填充后我需要对结果进行排序。我就是这样做的

type
TSearchResult = TPair<longint,double>;

var
target_results_array : TArray<TSearchResult>;

target_results_array:= target_results.ToArray;
TArray.Sort<TSearchResult>(best_knowledge_search_results,
TComparer<TSearchResult>.Construct(
function(const L, R: TSearchResult): Integer
begin
if L.Value < R.Value then Result := 1 else if L.Value > R.Value then Result := -1 else Result := 0;
end
));

一切都按预期进行。我的问题是如何在没有任何泄漏的情况下处理 TDictionary 和 TArray?目前我正在做

target_results.Free;

最佳答案

由于您的数据是长整型和 double 型,它们都是值类型,因此释放字典会很好地工作。您的数组将包含原始值的副本,您无需担心丢失或损坏任何内容。

如果你有对象类型,并且你有一个拥有这些对象的 TObjectDictionary ,那么你就必须担心这类事情,但对于纯数字数据,你没问题.

关于delphi - 将 TDictionary 排序到数组后正确处理它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18042736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com