首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#从IGrouping中选择不同的值

在C#中,IGrouping是一个接口,用于表示一个元素组,它是LINQ(Language Integrated Query)查询中的一个重要组成部分。IGrouping接口继承自IEnumerable接口,因此它可以让我们访问一组具有相同键值的元素。

要从IGrouping中选择不同的值,可以使用SelectMany方法。SelectMany方法可以将IGrouping中的每个元素组展开为一个单独的元素。以下是一个示例:

代码语言:csharp
复制
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        List<string> words = new List<string> { "apple", "banana", "cherry", "date", "elderberry" };

        // 使用GroupBy方法将单词按照第一个字母进行分组
        var groupedWords = words.GroupBy(w => w[0]);

        // 使用SelectMany方法将分组后的元素组展开为单个元素
        var distinctWords = groupedWords.SelectMany(g => g.Distinct());

        // 输出结果
        foreach (var word in distinctWords)
        {
            Console.WriteLine(word);
        }
    }
}

在这个示例中,我们首先创建了一个包含一些水果名称的列表。然后,我们使用GroupBy方法将这些单词按照第一个字母进行分组。接下来,我们使用SelectMany方法将分组后的元素组展开为单个元素。最后,我们遍历并输出结果。

需要注意的是,在这个示例中,我们使用了Distinct方法来去除重复的元素。如果不使用Distinct方法,那么每个元素组中的所有元素都会被展开,即使它们是重复的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券