可以实现一个IComparable接口的CompareTo方法,或者是给予List的Sort扩展方法,传入委托实现,举个例子:
list.Sort((a, b) => {
var o = a.sortIndex - b.sortIndex;
return o;
})
其实我们还可以根据OrderBy扩展方法来实现:
autoList
.OrderBy(a => a.StartsWith("_") ? : )
.ThenBy(a => a);
对于orderby可以参考:https://*.com/questions/3007470/custom-sort-logic-in-orderby-using-linq
给予OrderBy的扩展方法实现:http://www.cnblogs.com/94cool/p/9314685.html
具体项目需求具体实现。相比较来讲,orderby的性能比sort要好。