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

不使用Linq和List实现C#两个数组合并去重的方法

实现方案

核心逻辑

不需要借助Linq或者List类,仅用基础数组操作即可实现,核心分为两步:

  • 遍历两个输入数组,统计所有不重复元素的总数,同时暂存这些不重复元素
  • 根据统计的不重复元素数量创建结果数组,复制有效元素即可

完整代码实现

using System;

class Program
{
    static void Main()
    {
        string[] arr1 = new string[2]{"Hello", "Stack"};
        string[] arr2 = new string[2]{"Stack", "Overflow"};
        
        int totalPossibleLength = arr1.Length + arr2.Length;
        string[] tempUniqueItems = new string[totalPossibleLength];
        int uniqueCount = 0;

        // 处理第一个数组的元素
        foreach (string item in arr1)
        {
            bool isDuplicate = false;
            for (int i = 0; i < uniqueCount; i++)
            {
                if (tempUniqueItems[i] == item)
                {
                    isDuplicate = true;
                    break;
                }
            }
            if (!isDuplicate)
            {
                tempUniqueItems[uniqueCount] = item;
                uniqueCount++;
            }
        }

        // 处理第二个数组的元素
        foreach (string item in arr2)
        {
            bool isDuplicate = false;
            for (int i = 0; i < uniqueCount; i++)
            {
                if (tempUniqueItems[i] == item)
                {
                    isDuplicate = true;
                    break;
                }
            }
            if (!isDuplicate)
            {
                tempUniqueItems[uniqueCount] = item;
                uniqueCount++;
            }
        }

        // 生成最终结果数组
        string[] result = new string[uniqueCount];
        for (int i = 0; i < uniqueCount; i++)
        {
            result[i] = tempUniqueItems[i];
        }

        // 测试输出
        Console.WriteLine(string.Join(",", result));
        // 输出结果:Hello,Stack,Overflow
    }
}

补充说明

如果需要重复使用该能力,可以把去重合并的逻辑封装成独立的方法,传入两个字符串数组,返回处理后的结果数组即可。

内容的提问来源于stack exchange,提问作者Kristóf Vizkeleti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:06:05