C# LINQ中的阶小数

C# LINQ中的阶小数,c#,entity-framework,linq,C#,Entity Framework,Linq,我使用实体框架从表中获取数据,并按十进制列对数据进行排序 如何在linq中以正确的方式对数据进行排序? 我已经试过了 list.OrderBy(x => x.DisplayOrder) 但这给出了一个错误的结果 12.0 1.0 2.0 2.5 3.0 感谢您的帮助您的显示顺序是字符串吗?如果是,则按字母顺序排列,如果是数字,则按数字顺序排列。解析为十进制: list.OrderBy(x => decimal.Parse(x.DisplayOrder)) List List=n

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

list.OrderBy(x => x.DisplayOrder)
但这给出了一个错误的结果

12.0
1.0
2.0
2.5
3.0

感谢您的帮助

您的
显示顺序
是字符串吗?如果是,则按字母顺序排列,如果是数字,则按数字顺序排列。解析为十进制:

list.OrderBy(x => decimal.Parse(x.DisplayOrder))
List List=newlist(){12.123m、14m、10.85m、124.0003m};
foreach(list.OrderBy中的var项(c=>c))
{
Console.WriteLine(item.ToString(CultureInfo.InvariantCulture));
}

这可能是因为您将数字存储在字符串中。它们是表中的小数。我同意@Rob,如果它们是字符串,您需要对它们应用自然排序提供程序。@LuísTiago-is仍然没有显示表和类的定义…@Gilad Green-sry对于混淆,您的awnser有效。
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));
}