在LINQ中订购小数

本文关键字:小数 LINQ | 更新日期: 2023-09-27 18:16:12

我使用实体框架从表中获取数据并按十进制列对该数据进行排序我如何在linq中以正确的方式排序这些数据?我已经试过了

list.OrderBy(x => x.DisplayOrder)

但是这给出了一个错误的结果

12.0
1.0
2.0
2.5
3.0

Thanks for the help

在LINQ中订购小数

您的DisplayOrder是字符串吗?如果是,则按字母顺序排序,而不是按数字顺序排序。解析到decimal:

list.OrderBy(x => decimal.Parse(x.DisplayOrder))
List<decimal> list= new List<decimal>() {12.123m,14m,10.85m,124.0003m};
foreach (var  item  in list.OrderBy(c=>c))
{
    Console.WriteLine(item.ToString(CultureInfo.InvariantCulture));
}