C#的排序Sort和OrderBy扩展方法

 可以实现一个IComparable接口的CompareTo方法,或者是给予List的Sort扩展方法,传入委托实现,举个例子:

list.Sort((a, b) => {
                var o = a.sortIndex - b.sortIndex;
                return o;
            })

其实我们还可以根据OrderBy扩展方法来实现:

autoList
.OrderBy(a => a.StartsWith("_") ? 2 : 1 )
.ThenBy(a => a);

对于orderby可以参考:https://stackoverflow.com/questions/3007470/custom-sort-logic-in-orderby-using-linq

给予OrderBy的扩展方法实现:http://www.cnblogs.com/94cool/p/9314685.html

具体项目需求具体实现。相比较来讲,orderby的性能比sort要好。

原文地址:https://www.cnblogs.com/zhiyong-ITNote/p/10596644.html