gpt4 book ai didi

c# - LINQ 按数字序列排序

转载 作者:行者123 更新时间:2023-11-30 19:18:37 25 4
gpt4 key购买 nike

我有一个产品列表及其类别 ID,例如:

ID      CategoryID     Product Name
1 1 Product 1
2 1 Product 2
3 7 Product 3
4 8 Product 4
5 9 Product 5
6 10 Product 6

我想获取此列表并按类别 ID 列表排序,例如:1、8、9 和其余的,所以我得到:

ID     CategoryID     Product Name
1 1 Product 1
2 1 Product 2
4 8 Product 4
5 9 Product 5
3 7 Product 3
6 10 Product 6

linq 有什么办法吗?谢谢

最佳答案

如果您的类别 ID 在列表中,您可以这样排序:

var list = new List<int>() { 1, 8, 9, 7, 10, ... };

var productsOrdered = from p in products
let index = list.IndexOf(p.CategoryID)
order by (index < 0 ? int.MaxValue : index) // in case it is not in the list
select p;

此查询仅适用于 Linq to Objects,因此您需要从数据库中无序地获取所有数据。

关于c# - LINQ 按数字序列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11917253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com