以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
你在代码中遇到的问题是试图访问超出原始数组 array 长度的索引,并对其进行赋值。因为你首先尝试向一个长度为 n 的数组 arr6 添加元素,然后通过 array = arr6 尝试修改原始数组 array 的长度,这在 C# 中是不允许的。你不能直接改变一个数组的长度,除非它是一个可调整大小的集合类型(如 List)。你需要创建一个新的数组来存储更多的元素。以下是一个可能的解决方案:
你可以创建一个新的数组,然后复制旧数组的元素到新数组中,并在新数组中添加新的元素。这是一个示例代码:
int[][] array = { new int[] { 1, 2, 3 }, new int[] { 4, 5 } }; // 原数组
int[][] newArray = new int[array.Length + 1][]; // 创建新数组,长度比原数组多一行
// 复制原数组的元素到新数组的前几行
for (int i = 0; i < array.Length; i++)
{
newArray[i] = array[i];
}
// 添加新的一行到新数组的最后面
newArray[array.Length] = new int[] { 5 }; // 新添加的一行,包含你想添加的元素
// 现在新数组包含了旧数组的所有元素以及新添加的一行元素,你可以按需使用这个新数组。
这样你就可以成功地向数组添加新的元素了。记住在 C# 中,数组的大小是固定的,所以你不能直接改变一个已经创建的数组的大小。你需要创建一个新的更大的数组来存储更多的元素。