📅  最后修改于: 2023-12-03 15:36:31.781000             🧑  作者: Mango
LINQ 是 .NET 平台上的一种语言集成查询(Language Integrated Query)技术,通过它可以使用类似 SQL 的语言来对各种数据集进行查询和操作。本文将介绍如何使用 LINQ 将序列划分为组。
我们需要先创建一个包含多个元素的序列,比如以下代码:
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
如果我们想按照数值分组,可以使用 GroupBy 方法:
var groups = numbers.GroupBy(num => num % 2 == 0 ? "Even" : "Odd");
上面的代码将 List
我们可以遍历 groups 变量的每一个元素,打印组的 Key 值和组成员的值,代码如下:
foreach (var group in groups)
{
Console.WriteLine(group.Key);
foreach (var num in group)
{
Console.WriteLine(num);
}
}
上述代码将按照奇偶性打印出数字序列的分组情况。
除了按照数值分组,我们也可以按照字符串长度分组。假设我们有一个字符串列表:
List<string> words = new List<string> { "cat", "dog", "bird", "elephant", "lion", "tiger", "zebra" };
我们可以使用另一个 GroupBy 方法来按照字符串长度分组:
var groups = words.GroupBy(word => word.Length);
上面的代码将 List
我们可以遍历 groups 变量的每一个元素,打印组的 Key 值和组成员的值,代码如下:
foreach (var group in groups)
{
Console.WriteLine($"Length: {group.Key}");
foreach (var word in group)
{
Console.WriteLine(word);
}
}
上述代码将按照字符串长度打印出字符串序列的分组情况。
通过以上的代码示例,我们学会了如何使用 LINQ 的 GroupBy 方法将序列划分为组。这个技术可以方便地对各种数据集进行分组汇总,是每个 .NET 开发者都应该掌握的基本技能。