Linq只按第一位数字排序
本文关键字:数字 排序 第一位 Linq | 更新日期: 2023-09-27 17:59:32
我似乎在排序时遇到了问题,因为它只排序第一位
int storageCapacity;
IEnumerable<ProductStorageCapacity> items;
if (int.TryParse(filter["StorageCapacity"], out storageCapacity) && storageCapacity > 0)
items = await context.ProductStorageCapacities
.Where(ps => ps.StorageCapacity == storageCapacity)
.OrderByDescending(ps => ps.StorageCapacity).ToListAsync();
else items = await context.ProductStorageCapacities
.OrderBy(ps => ps.StorageCapacity).ToListAsync();
有什么帮助吗?
在下面的某个地方,您的StorageCapacity
是一个字符串。
查看此代码(实时示例:http://rextester.com/NZALE31796):
var intList = new []{0,500,1000};
var strList = new []{ "0", "500", "1000"};
Console.WriteLine(String.Join(",",intList.OrderByDescending(x => x)));
Console.WriteLine(String.Join(",",strList.OrderByDescending(x => x)));
输出为:
1000500,0
5001000,0
第一个结果是您所期望的按整数降序排列的结果。第二个是从相同的字符串输入中得到的内容。