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要好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM