C# で 2つの配列をマージする

Muhammad Maisam Abbas 2024年2月16日
  1. C# の Array.Copy() メソッドを使用して 2つの配列をマージする
  2. C# の Array.Resize() メソッドを使用して 2つの配列をマージする
  3. C# で LINQ メソッドを使用して 2つの配列をマージする
C# で 2つの配列をマージする

このチュートリアルでは、C# で 2つの配列をマージする方法について説明します。

C# の Array.Copy() メソッドを使用して 2つの配列をマージする

Array.Copy() メソッドは、ある配列から別の配列に要素の範囲をコピーします。Array.Copy() メソッドを使用して、両方の配列の要素を 3 番目のマージされた配列にコピーできます。次のコード例は、C# で Array.Copy() メソッドを使用して 2つの配列をマージする方法を示しています。

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

上記のコードでは、整数値 arr1arr2 の 2つの配列を初期化しました。arr1arr2 の結合された要素を保持するために、3 番目の配列 arr3 を宣言しました。arr3 配列の長さは、arr1 配列と arr2 配列の長さの合計です。次に、C# の Array.Copy() メソッドを使用して、arr1 および arr2 配列の内容を arr3 配列にコピーしました。

C# の Array.Resize() メソッドを使用して 2つの配列をマージする

前の例では、両方の配列のマージされた値を格納するために、別個の 3 番目の配列を作成する必要があります。別の配列を作成せずにこの目標を達成したい場合は、2つの配列のいずれかで Array.Resize() メソッドを使用する必要があります。Array.Resize() メソッドは、C# で 1 次元配列のサイズを変更するために使用されます。Array.Resize() メソッドは、配列への参照と目的のサイズを引数として取り、配列のサイズを変更します。次のコード例は、C# で Array.Resize() メソッドを使用して 2つの配列をマージする方法を示しています。

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() メソッドを使用して、arr1arr2 の両方の値を保持するように arr1 配列のサイズを変更しました。次に、C# の Array.Copy() メソッドを使用して、arr2 の要素を arr1 にコピーしました。

C# で LINQ メソッドを使用して 2つの配列をマージする

LINQ または統合言語クエリは、クエリ機能を C# のデータ構造に統合します。Concat() 関数を使用して、2つの配列の要素をマージできます。Concat(x) 関数は、C# の呼び出し元オブジェクトの最後にあるパラメーターx の要素を連結します。次に、ToArray() 関数を使用して結果を配列に変換できます。次のコード例は、C# で 2つの配列を 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 を初期化しました。次に、arr1 配列の最後にある arr2 配列の要素を Array.Concat() メソッドで連結しました。次に、この操作の結果を 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