如何在C#中根据属性按自定义顺序对对象数组进行排序?
我有以下代码如何在C#中根据属性按自定义顺序对对象数组进行排序?,c#,asp.net,c#-4.0,C#,Asp.net,C# 4.0,我有以下代码 CustomerModel[] customerModel ; customerModel = GetCustomerModel(customerReport); 现在,这个CustomerModel类有一个名为DealType的字符串属性,可能的值为“CostOnly”、“Edlp”、“NonPromoted”、“Periodic” 我只想按DealType属性按以下顺序对customerModel数组排序 "NonPromoted", "Edlp", "Periodic",
CustomerModel[] customerModel ;
customerModel = GetCustomerModel(customerReport);
现在,这个CustomerModel
类有一个名为DealType
的字符串属性,可能的值为“CostOnly”、“Edlp”、“NonPromoted”、“Periodic”
我只想按DealType属性按以下顺序对customerModel数组排序
"NonPromoted",
"Edlp",
"Periodic",
"CostOnly"
解决这个问题的最佳方法是什么
提前感谢。您可以按顺序自定义顺序列表中项目的索引进行排序,如下所示:
List<string> sortOrderList = new List<string>()
{
"NonPromoted",
"Edlp",
"Periodic",
"CostOnly"
};
customerModel = customerModel.OrderBy(x=> sortOrderList.IndexOf(x.DealType)).ToArray();
您可以按顺序自定义顺序列表中项目的索引进行排序,如下所示:
List<string> sortOrderList = new List<string>()
{
"NonPromoted",
"Edlp",
"Periodic",
"CostOnly"
};
customerModel = customerModel.OrderBy(x=> sortOrderList.IndexOf(x.DealType)).ToArray();
可能重复-可能重复-