溫馨提示×

C#中如何用Intersect處理嵌套集合的交集問題

c#
小億
98
2024-04-02 10:13:07
欄目: 編程語言

在C#中,可以使用LINQ的Intersect方法來處理嵌套集合的交集問題。下面是一個(gè)示例代碼:

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);
        }
    }
}

在這個(gè)示例中,我們有兩個(gè)嵌套的List<List>,分別是nestedList1和nestedList2。我們通過SelectMany方法將它們轉(zhuǎn)換成一個(gè)一維的List,然后使用Intersect方法找到它們的交集并輸出。最后的輸出結(jié)果將是{3, 4}。

1