📅  最后修改于: 2023-12-03 15:00:15.648000             🧑  作者: Mango
在 C# 中,数组的大小一旦被确定,就无法直接改变。但是,我们可以通过创建一个新的数组,并将原数组的元素复制到新数组中来更改一维数组的大小。
下面介绍两种改变数组大小的方法。
Array.Resize()
方法可以改变一维数组的大小。它接受两个参数:要改变大小的数组以及新数组的大小。
代码示例:
int[] arr = { 1, 2, 3, 4, 5 };
Array.Resize(ref arr, 10); // 将数组扩展到 10 个元素
Console.WriteLine(arr.Length); // 输出 10
注意:Array.Resize()
方法改变了数组的大小,但是并不保证增加或删除的元素的值是什么。如果新数组比原数组大,则新元素的值为类型的默认值;如果新数组比原数组小,则删除元素的后面的元素会被截断。
手动创建一个新的数组,将原数组的元素复制到新数组中,并更新原数组的引用以指向新数组,从而改变数组的大小。
代码示例:
int[] arr = { 1, 2, 3, 4, 5 };
int[] newArr = new int[10];
Array.Copy(arr, newArr, arr.Length);
arr = newArr; // 更新原数组的引用以指向新数组
Console.WriteLine(arr.Length); // 输出 10
注意:手动创建新数组的方法可以更好地控制新数组中元素的值。
以上就是 C# 中改变一维数组大小的两种方法,你可以根据具体情况选择适合的方法。