You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何对int[][]类型数组使用Intersect方法求交集?

解决int[]调用Intersect报错的问题

嘿,这个坑我之前踩过!其实不是二维数组本身不能用Intersect,问题出在你没给编译器找到LINQ方法的正确路径,咱们一步步来解决:

  • 第一步:必须添加LINQ的using指令
    Intersect是System.Linq命名空间下的扩展方法,编译器默认不会自动识别它。所以你得在代码文件的最顶部加上这行:

    using System.Linq;
    

    这是最常见的报错原因,很多人会漏掉这一步。

  • 第二步:确认程序集引用(针对老项目)
    如果是.NET Framework的老项目,可能需要手动确认是否引用了System.Core程序集(LINQ的核心实现就在这里)。不过在.NET Core、.NET 5+这类现代项目里,这个引用是默认添加的,所以大概率不需要额外操作。

  • 给你个完整的可运行示例
    照着这个写肯定没问题:

    using System;
    using System.Linq; // 关键的一行!
    
    class Program
    {
        static void Main()
        {
            int[][] graph = new int[][]
            {
                new int[] {1, 2, 3, 4},
                new int[] {3, 4, 5, 6}
            };
            
            // 现在可以正常调用Intersect了
            var intersection = graph[0].Intersect(graph[1]);
            
            // 遍历输出交集元素
            foreach (int num in intersection)
            {
                Console.WriteLine(num); // 会输出3和4
            }
        }
    }
    
  • 额外小技巧
    如果想直接把交集结果转成int数组而不是IEnumerable<int>,可以在后面追加.ToArray():

    int[] resultArray = graph[0].Intersect(graph[1]).ToArray();
    

内容的提问来源于stack exchange,提问作者Hornea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:25:26