我有一个实体类'Car',其中包含一个Enum属性
public enum CarType
{ BRANDNEW
ALMOSTNEW
OLD
}
Run Code Online (Sandbox Code Playgroud)
当我获得Car对象的列表时,我想在顶部订购全新的汽车列表,然后在底部订购几乎全新的汽车和旧车.我尝试用汽车名称订购,效果非常好
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))
Run Code Online (Sandbox Code Playgroud)
但没有奏效.
你的问题在别处,因为你的任何事情都没有看似错误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));
}
Run Code Online (Sandbox Code Playgroud)
产量
BRANDNEW
ALMOSTNEW
OLD
Run Code Online (Sandbox Code Playgroud)
导致问题的最可能原因是您没有使用查询结果重新分配或更新UI.
CarsList = new ObservableCollection<Car>(CarViewModel.OrderBy(item => item.CarType))
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式证明订单正在运行,通过查看输出窗口来检查结果
Debug.WriteLine(string.Join("\n", CarsList ));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
48 次 |
最近记录: |