isx*_*ker 1 .net c# arrays collections list
我有一个集合(集合中有大于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
}
Run Code Online (Sandbox Code Playgroud)
基本list.Sort();用途Array.Sort<T>(this._items, index, count, comparer);
我该如何分类Collection<T>?(无复制)
没有方便的方法可以做到这一点。Collection<T>甚至对于子类(protected)都不提供对内部缓冲区的原始访问。否则,您将无法进行干净的就地排序。
您可以在基础.Items(protected)上手动实现排序,但这需要大量工作,而且效率很低。
你可能还做的是:
但是,我个人可能会说“如果您需要排序,请使用List<T>”-这样可以节省很多工作。
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |