在 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 個整數值 arr1
和 arr2
的陣列。我們宣告瞭第三個陣列 arr3
,以容納 arr1
和 arr2
的組合元素。arr3
陣列的長度是 arr1
和 arr2
陣列的長度之和。然後,我們使用 C# 中的 Array.Copy()
方法將 arr1
和 arr2
陣列的內容複製到 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 個整數值陣列,分別是 arr1
和 arr2
。然後,我們使用 Array.Resize()
方法調整 arr1
陣列的大小以容納 arr1
和 arr2
的值。然後,使用 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 個整數值陣列,分別是 arr1
和 arr2
。然後,使用 Array.Concat()
方法將 arr2
陣列的元素連線到 arr1
陣列的末尾。然後,我們使用 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