[英]How to apply Array.Sort to Collection<T>?
我有一個集合(集合中有大於100K的自定義復雜項目,添加新項目的情況確實經常發生)。 我只需要對它進行一次排序-在顯示它之前。 為了簡化我的問題,可以說我有一個需要排序的整數集合:
private static void Main(string[] args)
{
var collection = new Collection<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
var list = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
var array = new [] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
// How to apply Array.Sort to Collection<T> ?
list.Sort(); //ok
Array.Sort(array); //ok
}
基本上是list.Sort();
使用Array.Sort<T>(this._items, index, count, comparer);
如何對我的Collection<T>
排序? (無復制)
沒有方便的方法可以做到這一點。 即使對於子類( protected
), Collection<T>
也不提供對內部緩沖區的原始訪問。 否則,您將無法進行干凈的就地排序。
您可以在基礎.Items
( protected
)上手動實現排序,但是這需要大量工作並且效率很低。
什么,你也可以做的是:
但是,我個人可能會說“如果需要排序,請使用List<T>
”-這樣可以節省很多工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.