将LIST用OrderBy排序后再分组
时间: 2024-04-24 11:22:58 浏览: 56
C#实现泛型List分组输出元素的方法
你可以使用LINQ查询来对List进行排序和分组。首先,你可以使用OrderBy方法对List进行排序,然后使用GroupBy方法对排序后的结果进行分组。
以下是一个示例代码,演示如何对List使用OrderBy排序后再分组:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<int> numbers = new List<int> { 5, 2, 8, 3, 1, 4, 7, 6 };
var sortedAndGroupedNumbers = numbers.OrderBy(num => num)
.GroupBy(num => num % 2 == 0 ? "Even" : "Odd");
foreach (var group in sortedAndGroupedNumbers)
{
Console.WriteLine($"Group: {group.Key}");
foreach (var number in group)
{
Console.WriteLine(number);
}
}
}
}
```
这个示例中,我们创建了一个包含一些整数的List。然后,我们使用OrderBy方法按升序对这些整数进行排序。接下来,我们使用GroupBy方法根据每个数字的奇偶性进行分组,生成一个以"Even"和"Odd"作为键的分组。
最后,我们遍历分组结果并打印出每个分组的键和相关的数字。
运行上述代码,输出将如下所示:
```
Group: Odd
1
3
5
7
Group: Even
2
4
6
8
```
这样,你就可以按照要求对List进行排序后再分组了。
阅读全文