C#中如何用Intersect处理嵌套集合的交集问题

c#
657
2024/3/15 10:13:07
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C#中,可以使用LINQ的Intersect方法来处理嵌套集合的交集问题。下面是一个示例代码:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<List<int>> nestedList1 = new List<List<int>>
        {
            new List<int> {1, 2, 3},
            new List<int> {2, 3, 4},
            new List<int> {3, 4, 5}
        };

        List<List<int>> nestedList2 = new List<List<int>>
        {
            new List<int> {2, 3, 4},
            new List<int> {3, 4, 5},
            new List<int> {4, 5, 6}
        };

        var intersection = nestedList1.SelectMany(x => x)
                                      .Intersect(nestedList2.SelectMany(y => y))
                                      .ToList();

        foreach (var item in intersection)
        {
            Console.WriteLine(item);
        }
    }
}

在这个示例中,我们有两个嵌套的List<List>,分别是nestedList1和nestedList2。我们通过SelectMany方法将它们转换成一个一维的List,然后使用Intersect方法找到它们的交集并输出。最后的输出结果将是{3, 4}。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C#中的MessageBox如何使用