我有一个实体类“汽车”与包括枚举的属性数量
public enum CarType
{ BRANDNEW
ALMOSTNEW
OLD
}
当我拿到车的对象名单,我想订购与顶级品牌的新车,那么几乎新车和老车在底部的列表中。我试着用它工作了精致漂亮的车名排序
CarsList = new ObservableCollection<Car>(CarViewModel.OrderBy(item => item.Name))
但我想根据枚举类型对列表进行排序。
我尝试添加int
值的枚举类型
public enum CarType
{ BRANDNEW = 1
ALMOSTNEW = 2
OLD = 3
}
CarsList = new ObservableCollection<Car>(CarViewModel.OrderBy(item => item.CarType))
但没有奏效。
你的问题是其他地方没有什么似乎不对您OrderBy
,(本核查的小例子,可见)
public enum CarType
{
BRANDNEW = 1,
ALMOSTNEW = 2,
OLD = 3
}
public static void Main(string[] args)
{
var list = new List<CarType>{CarType.ALMOSTNEW, CarType.OLD, CarType.BRANDNEW};
var asd = list.OrderBy(item => item);
Console.WriteLine(string.Join("\n", asd));
}
产量
BRANDNEW
ALMOSTNEW
OLD
你的问题的最可能的原因是,你是不是重新分配或更新您的查询结果的UI。
CarsList = new ObservableCollection<Car>(CarViewModel.OrderBy(item => item.CarType))
可以证明的顺序由由下面的工作,通过看你的输出窗口,检查结果
Debug.WriteLine(string.Join("\n", CarsList ));