You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在C#中如何合并两个数组为新数组并打印数组所有元素

在C#中合并数组并打印元素的方法

原代码问题说明

你提供的代码存在几处错误:

  • C#数组的长度属性是大写的Length,arrA.length写法错误
  • 合并数组时,else分支里的arrB[i]会导致索引越界,arrB长度为2,当i=2时无对应元素,应改为arrB[i - arrA.Length]
  • Console.WriteLine(newData[4]);中的newData是未定义变量,且newArr最大索引为3,访问索引4会报错

正确实现方式

方法一:手动遍历合并(修复原代码)

string[] arrA = {"1", "2"};
string[] arrB = {"3", "4"};
var totalLen = arrA.Length + arrB.Length;

string[] newArr = new string[totalLen];

// 复制arrA的元素
for (int i = 0; i < arrA.Length; i++)
{
    newArr[i] = arrA[i];
}
// 复制arrB的元素
for (int i = 0; i < arrB.Length; i++)
{
    newArr[arrA.Length + i] = arrB[i];
}

// 打印数组所有元素
foreach (var item in newArr)
{
    Console.WriteLine(item);
}

方法二:使用LINQ(简洁写法)

需先引用System.Linq命名空间,用Concat直接合并数组:

using System.Linq;

string[] arrA = {"1", "2"};
string[] arrB = {"3", "4"};

string[] newArr = arrA.Concat(arrB).ToArray();

// 打印所有元素
foreach (var item in newArr)
{
    Console.WriteLine(item);
}

方法三:使用Array.Copy(高效写法)

适合处理大数据量数组,系统原生方法性能更优:

string[] arrA = {"1", "2"};
string[] arrB = {"3", "4"};
string[] newArr = new string[arrA.Length + arrB.Length];

Array.Copy(arrA, newArr, arrA.Length);
Array.Copy(arrB, 0, newArr, arrA.Length, arrB.Length);

// 打印数组
foreach (var item in newArr)
{
    Console.WriteLine(item);
}

内容的提问来源于stack exchange,提问作者Muhammad Bilal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 07:05:17