在 C# 中合并两个数组

Muhammad Maisam Abbas 2024年2月16日
  1. 在 C# 中使用 Array.Copy() 方法合并两个数组
  2. 在 C# 中使用 Array.Resize() 方法合并两个数组
  3. 在 C# 中使用 LINQ 方法合并两个数组
在 C# 中合并两个数组

本教程将讨论在 C# 中合并两个数组的方法。

在 C# 中使用 Array.Copy() 方法合并两个数组

Array.Copy() 方法将一系列元素从一个数组复制到另一个数组。我们可以使用 Array.Copy() 方法将两个数组的元素复制到第三个合并的数组中。以下代码示例向我们展示了如何使用 C# 中的 Array.Copy() 方法合并两个数组。

using System;

namespace merge_arrays {
  class Program {
    static void Main(string[] args) {
      int[] arr1 = { 1, 2, 3 };
      int[] arr2 = { 4, 5, 6 };
      int[] arr3 = new int[arr1.Length + arr2.Length];
      Array.Copy(arr1, arr3, arr1.Length);
      Array.Copy(arr2, 0, arr3, arr1.Length, arr2.Length);
      foreach (var e in arr3) {
        Console.WriteLine(e);
      }
    }
  }
}

输出:

1
2
3
4
5
6

在上面的代码中,我们初始化了 2 个整数值 arr1arr2 的数组。我们声明了第三个数组 arr3,以容纳 arr1arr2 的组合元素。arr3 数组的长度是 arr1arr2 数组的长度之和。然后,我们使用 C# 中的 Array.Copy() 方法将 arr1arr2 数组的内容复制到 arr3 数组。

在 C# 中使用 Array.Resize() 方法合并两个数组

在前面的示例中,我们必须创建一个单独的第三个数组来存储两个数组的合并值。如果要在不创建另一个数组的情况下实现此目标,则必须在两个数组之一上使用 Array.Resize() 方法。Array.Resize() 方法用于在 C# 中调整一维数组的大小。Array.Resize() 方法将对数组的引用以及所需的大小作为其参数,并调整数组的大小。以下代码示例向我们展示了如何使用 C# 中的 Array.Resize() 方法合并两个数组。

using System;

namespace merge_arrays {
  class Program {
    static void Main(string[] args) {
      int[] arr1 = { 1, 2, 3 };
      int[] arr2 = { 4, 5, 6 };
      int array1OriginalLength = arr1.Length;
      Array.Resize<int>(ref arr1, array1OriginalLength + arr2.Length);
      Array.Copy(arr2, 0, arr1, array1OriginalLength, arr2.Length);
      foreach (var e in arr1) {
        Console.WriteLine(e);
      }
    }
  }
}

输出:

1
2
3
4
5
6

我们初始化了 2 个整数值数组,分别是 arr1arr2。然后,我们使用 Array.Resize() 方法调整 arr1 数组的大小以容纳 arr1arr2 的值。然后,使用 C# 中的 Array.Copy() 方法将 arr2 的元素复制到 arr1

在 C# 中使用 LINQ 方法合并两个数组

LINQ 或语言集成查询将查询功能集成到 C# 的数据结构中。我们可以使用 Concat() 函数合并两个数组的元素。Concat(x) 函数在 C# 中的调用对象末尾连接参数 x 的元素。然后,我们可以使用 ToArray() 函数将结果转换为数组。以下代码示例向我们展示了如何使用 C# 中的 LINQ 方法合并两个数组。

using System;
using System.Linq;

namespace merge_arrays {
  class Program {
    static void Main(string[] args) {
      int[] arr1 = { 1, 2, 3 };
      int[] arr2 = { 4, 5, 6 };
      arr1 = arr1.Concat(arr2).ToArray();
      foreach (var e in arr1) {
        Console.WriteLine(e);
      }
    }
  }
}

输出:

1
2
3
4
5
6

我们初始化了 2 个整数值数组,分别是 arr1arr2。然后,使用 Array.Concat() 方法将 arr2 数组的元素连接到 arr1 数组的末尾。然后,我们使用 C# 中的 ToArray() 函数将该操作的结果转换为数组。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Csharp Array