我使用实体框架从表中获取数据并按十进制列对数据进行排序 如何在linq中以正确的方式订购数据? 我已经尝试过了
list.OrderBy(x => x.DisplayOrder)
但这会产生错误的结果
12.0
1.0
2.0
2.5
3.0
感谢您的帮助
答案 0 :(得分:6)
你的DisplayOrder
是一个字符串吗?如果是这样,它将按字母顺序排序,而不是数字。解析为decimal
:
list.OrderBy(x => decimal.Parse(x.DisplayOrder))
答案 1 :(得分:0)
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));
}