在 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