温馨提示×

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

c#
小亿
99
2024-04-02 10:13:07
栏目: 编程语言

在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}。

1