对象类型集合自定义排序:
对象类型:
class Model
{public string id{get;set;}public string name{get;set;}
}List<Model> lst = new List<Model>(){new Model(){"1","aa"},new Model(){"2","bb"},new Model(){"3","cc"},new Model(){"4","dd"},
};
自定义的顺序列表:
string[] orderArr = new string[]{"bb","cc","dd"};
排序方法:
var orderElements = lst.OrderBy(o => {int index = 0;index = Array.IndexOf(orderArr,o.name);if (index != -1){return index;}else{return int.MaxValue;}});
结果orderElements顺序为:
bb,cc,dd,aa