C# で 2つの配列をマージする
-
C# の
Array.Copy()
メソッドを使用して 2つの配列をマージする -
C# の
Array.Resize()
メソッドを使用して 2つの配列をマージする - C# で LINQ メソッドを使用して 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
上記のコードでは、整数値 arr1
と arr2
の 2つの配列を初期化しました。arr1
と arr2
の結合された要素を保持するために、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つの配列 arr1
と arr2
を初期化しました。次に、Array.Resize()
メソッドを使用して、arr1
と arr2
の両方の値を保持するように 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つの配列 arr1
と arr2
を初期化しました。次に、arr1
配列の最後にある arr2
配列の要素を Array.Concat()
メソッドで連結しました。次に、この操作の結果を C# の ToArray()
関数を使用して配列に変換しました。
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