c# 两个数组比较,将重复部分去掉,返回不重复部分的实现

实现C#两个数组比较并去重可以分为以下步骤:

步骤一:准备数据

首先,我们需要准备两个待比较的数组A和B,可以使用以下代码创建:

int[] A = { 1, 2, 3, 4, 5 };
int[] B = { 4, 5, 6, 7, 8 };

步骤二:比较两个数组

接下来,我们使用Linq扩展方法进行比较。代码如下:

var diff = A.Except(B).Union(B.Except(A));

在这段代码中,我们使用了Except方法求出A中不在B中的元素,使用Union方法将其和B中不在A中的元素合并成一个新的集合。

步骤三:输出结果

最后,我们可以使用以下代码将不重复的元素输出到控制台上:

foreach (int i in diff)
{
    Console.Write(i + " ");
}

完整实现代码如下:

using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        int[] A = { 1, 2, 3, 4, 5 };
        int[] B = { 4, 5, 6, 7, 8 };

        var diff = A.Except(B).Union(B.Except(A));

        foreach (int i in diff)
        {
            Console.Write(i + " ");
        }

        Console.ReadLine();
    }
}

输出结果为:1 2 3 6 7 8

另外,我们也可以使用另外的方式实现数组比较和去重。例如,我们可以使用循环遍历的方式依次比较两个数组的元素,然后将不重复的元素添加到新的数组中。实现代码如下:

using System;

class Program
{
    static void Main(string[] args)
    {
        int[] A = { 1, 2, 3, 4, 5 };
        int[] B = { 4, 5, 6, 7, 8 };

        int[] C = new int[A.Length + B.Length]; // 定义一个新数组C
        int k = 0; 

        for (int i = 0; i < A.Length; i++)
        {
            bool duplicate = false;

            for (int j = 0; j < B.Length; j++)
            {
                if (A[i] == B[j]) // A[i]在B中出现过
                {
                    duplicate = true;
                    break;
                }
            }

            if (!duplicate) // A[i] 未在B中出现过
            {
                C[k++] = A[i]; // 将A[i]添加到新数组C中
            }
        }

        for (int i = 0; i < B.Length; i++)
        {
            bool duplicate = false;

            for (int j = 0; j < A.Length; j++)
            {
                if (B[i] == A[j]) // B[i]在A中已经出现过
                {
                    duplicate = true;
                    break;
                }
            }

            if (!duplicate) // B[i] 未在A中出现过
            {
                C[k++] = B[i]; // 将B[i]添加到新数组C中
            }
        }

        int[] result = new int[k]; // 定义一个长度为k的数组
        Array.Copy(C, result, k); // 复制C中前k个元素到result中

        foreach (int i in result)
        {
            Console.Write(i + " ");
        }

        Console.ReadLine();
    }
}

输出结果为:1 2 3 6 7 8。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c# 两个数组比较,将重复部分去掉,返回不重复部分的实现 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • Windows 8技巧:Xaml+C#开发第一个Metro Style应用程序的使用

    下面我来详细讲解“Windows 8技巧:Xaml+C#开发第一个Metro Style应用程序的使用”的完整攻略。 概述 本攻略旨在为开发者提供在Windows 8操作系统下使用Xaml+C#开发第一个Metro Style应用程序的详细过程和方法。 步骤 步骤一:安装开发环境 首先,我们需要安装Visual Studio 2012及以上版本的开发环境。在…

    C# 2023年6月7日
    00
  • 使用nodejs搭建微信小程序支付接口的详细过程

    使用Node.js搭建微信小程序支付接口的详细过程如下: 注册微信支付商户号。在微信支付官网注册商户号,并完成相关认证和配置。 安装Node.js和相关依赖。在本地安装Node.js,并使用npm安装相关依赖,如express、request等。 创建服务器端代码。使用Node.js编写服务器端代码,包括处理微信支付请求、生成签名等功能。 配置微信支付参数。…

    C# 2023年5月15日
    00
  • ASP.NET MVC实现区域或城市选择

    当我们需要实现区域或城市选择的功能时,可以使用 ASP.NET MVC 框架来实现。下面是详细的攻略: 步骤1:创建数据库 在 SQL Server 中创建一个名为“City”的数据库,并添加以下表: Province 表 列名 数据类型 Id int Name nvarchar(50) City 表 列名 数据类型 Id int Name nvarchar…

    C# 2023年5月12日
    00
  • 哔哩哔哩Android项目编译优化

    哔哩哔哩Android项目编译优化 在Android开发中,编译时间是一个非常重要的因素。本文将介绍如何优化哔哩哔哩Android项目的编译时间。 步骤1:使用Gradle的Build Cache Gradle的Build Cache可以缓存已编译的文件,以便在下一次编译时重用它们。以下是一个示例: buildCache { local { enabled …

    C# 2023年5月15日
    00
  • C#实现创建,删除,查找,配置虚拟目录实例详解

    C#实现创建,删除,查找,配置虚拟目录实例详解 背景 虚拟目录是Web应用程序和IIS服务器之间的一个重要桥梁,对于Web开发来说,掌握虚拟目录的创建、删除、查找、配置是非常重要的。C#作为一款强大的面向对象编程语言,在实现这些功能方面提供了便捷的解决方案。本文将详细讲解如何使用C#实现创建、删除、查找、配置虚拟目录的方法。 创建虚拟目录 在C#中,可以通过…

    C# 2023年6月3日
    00
  • C# datagridview、datagrid、GridControl增加行号代码解析

    下面我将详细讲解如何在C#中为DataGridView、DataGrid和GridControl控件添加行号,并提供两个示例。 1. DataGridView添加行号 在DataGridView中添加行号,可以借助其自带的行头显示索引的功能来实现。主要步骤如下: 设置行头的显示模式为行号:dataGridView1.RowHeadersVisible = t…

    C# 2023年5月15日
    00
  • CefSharp自定义缓存实现

    大家好,我是沙漠尽头的狼。 上文介绍了《C#使用CefSharp内嵌网页-并给出C#与JS的交互示例》,本文介绍CefSharp的缓存实现,先来说说添加缓存的好处: 提高页面加载加速:CefSharp缓存可以缓存已经加载过的页面和资源,当用户再次访问相同的页面时,可以直接从缓存中加载,而不需要重新下载和解析页面和资源,从而加快页面加载速度。 减少网络流量:使…

    C# 2023年4月27日
    00
  • Unity Shader实现玻璃材质效果

    下面是Unity Shader实现玻璃材质效果的完整攻略: 第一步:创建一个透明材质球 首先,在Unity中创建一个透明材质球。在Unity菜单栏中选择Assets->Create->Material,右键选择Rename,将Material更名为“Glass”。 第二步:设置Glass的Shader为Transparent 在“Glass”的I…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部