我有一个类类型的列表集合,并且类包含以下属性。
class mymodel()
{
public string Name{ get; set; }
public string AMPM{ get; set; }
}
List<mymodel> mylist;
AMPM属性应包含“ AM”或“ PM”或“ MIX”或“-”
我需要对列表集合进行排序,以使AM值排在最前面,然后是PM值,然后是Mix,然后是“-”值
如何使用Lambda订购此列表集合?
最佳答案
您可以添加另一个属性。
class mymodel {
public string Name{ get; set; }
public string AMPM{ get; set; }
public int AMPM_Sort {
get {
if (AMPM == "AM") return 1;
if (AMPM == "PM") return 2;
if (AMPM == "MIX") return 3;
if (AMPM == "--") return 4;
return 9;
}
}
}
List<mymodel> mylist;
var sorted = mylist.OrderBy(x => x.AMPM_Sort);