gpt4 book ai didi

c# - 使用 LINQ 如何根据范围确定 IEnumerable 的优先级?

转载 作者:太空宇宙 更新时间:2023-11-03 20:17:16 24 4
gpt4 key购买 nike

如果我的数据是 List<Cat>每只猫的年龄分别为 10, 9, 8, 7, 6, 5, 4, 3, 2, 1

我想根据1-3、4-8、9-10的范围重新排序列表

结果列表将是

3, 2, 1, 8, 7, 6, 5, 4, 10, 9

我该怎么做?

我首先考虑创建三个查询:

var band1 = myList.Where(c => c <= 3);
var band2 = myList.Where(c => c => 4 && c <= 8);
var band3 = myList.Where(c => c >= 9);

但是我不知道如何使用 LINQ 合并结果,因为我有三个 IEnumerable<Cat> .

正确的使用方法是什么,还是我必须使用 foreach

最佳答案

您可以使用 Concat .

var band1 = myList.Where(c => c <= 3);
var band2 = myList.Where(c => c => 4 && c <= 8);
var band3 = myList.Where(c => c >= 9);

var result = band1.Concat(band2).Concat(band3);

关于c# - 使用 LINQ 如何根据范围确定 IEnumerable 的优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15956716/

24 4 0