在 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