可以實現一個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要好。