[英]C# How Can I Sort A List without Generating Any Garbage at All (Unity3d)
List.Sort 使用的方法最終使用 Array.Sort,即使您傳入 IComparer 的實例,它也會生成 2 個字節的垃圾。 我需要對 Unity3d 中的每一幀的許多列表進行排序,所以我需要一種算法,如果可能的話,它不會創建單個字節的垃圾。 臨時變量的堆棧分配應該沒問題。
if (comparer == null)
comparer = (IComparer<T>)Comparer<T>.Default;
if (BinaryCompatibility.TargetsAtLeast_Desktop_V4_5)
ArraySortHelper<T>.IntrospectiveSort(keys, index, length, comparer);
else
ArraySortHelper<T>.DepthLimitedQuickSort(keys, index, length + index - 1, comparer, 32);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.