内部实现,我发现上述的Array.Sort内,.NET 4.0的排序
[ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail), SecurityCritical]
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern bool TrySZSort(Array keys, Array items, int left, int right);
被调用。 任何想法如何实现?
也就是说方法是在本机代码来实现,因此'extern'关键字。可能会被引用到某个地方的引用源中,但除非您只是想了解它是如何实现的,否则它可能比您在托管代码中编写的任何东西都要快。 – 2012-08-14 00:57:48
http://stackoverflow.com/questions/6842090/c-sharp-fastest-way-to-sort-an-array-in-descending-order – xandercoded 2012-08-14 01:01:12
我很好奇,因为天真的QuickSort被调用,除非使用默认的Comparer。那么这意味着即使TrySZSort被调用,Array.Sort也不能保证N * Log(N)最坏的情况。 – 2012-08-14 01:01:22