标签: c# list linq
我正在使用OrderByDescending并且效果很好,但是当我添加超过3位的数字时,它们会变得混乱。例如:
List<int> = {20, 84, 102, 94, 205, 33}
它会这样命令:
94, 84, 33, 205, 20, 102
就好像有小数而不是整数。我该如何解决这个问题?并使其从最大值下降到最小值
答案 0 :(得分:4)
根据您的排序结果,您实际上正在对List<string>进行排序,而不是List<int>。
List<string>
List<int>
如果您确定列表中的所有元素都是有效整数,则可以使用int.Parse在OrderByDescending子句中动态转换它们:
int.Parse
OrderByDescending
var numbers = new List<string> {"20", "84", "102", "94", "205", "33"}; Console.WriteLine(string.Join(", ", numbers.OrderByDescending(int.Parse)));
<强>输出强>