对象类型集合自定义排序:
对象类型:
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