📜  统一更改数组大小 - C# (1)

📅  最后修改于: 2023-12-03 14:56:55.891000             🧑  作者: Mango

统一更改数组大小 - C#

在编程中,我们需要经常操作数组。 在某些情况下,我们需要更改数组的大小。 在C#中,Array类为我们提供了一种可以更改数组大小的方法。

Array.Resize方法

Array.Resize方法可以更改当前数组的大小。 它采用以下参数:

Array.Resize(ref T[] array, int newSize)

其中,array是要更改大小的数组,newSize是要更改为的新大小。此方法在扩大数组大小时添加默认值,并缩小数组大小时截断数组。

下面是一个简单的示例,说明如何使用Array.Resize方法更改数组大小:

int[] nums = { 1, 2, 3, 4, 5 };
Console.WriteLine("Original array: " + string.Join(", ", nums));

Array.Resize(ref nums, 7);
nums[5] = 6;
nums[6] = 7;
Console.WriteLine("Resized array: " + string.Join(", ", nums));

Array.Resize(ref nums, 3);
Console.WriteLine("Resized array: " + string.Join(", ", nums));

输出:

Original array: 1, 2, 3, 4, 5
Resized array: 1, 2, 3, 4, 5, 6, 7
Resized array: 1, 2, 3

在上面的示例中,我们使用Array.Resize方法将数组大小从5更改为7,然后再次将其大小更改为3。在增加数组大小时,我们通过对新增的元素赋值,对其进行了初始化。

使用List代替数组

在许多情况下,我们可以使用List类代替数组。 List是一个动态调整大小的泛型集合,可以随需增加或减少集合大小。要将List转换为数组,可以使用List的ToArray方法。

下面是一个使用List代替数组的示例:

List<int> numsList = new List<int> { 1, 2, 3, 4, 5 };
Console.WriteLine("Original list: " + string.Join(", ", numsList));

numsList.Add(6);
numsList.Add(7);
Console.WriteLine("Updated list: " + string.Join(", ", numsList));

int[] numsArr = numsList.ToArray();
Console.WriteLine("Array from list: " + string.Join(", ", numsArr));

输出:

Original list: 1, 2, 3, 4, 5
Updated list: 1, 2, 3, 4, 5, 6, 7
Array from list: 1, 2, 3, 4, 5, 6, 7

在上面的示例中,我们使用List代替int[]数组。然后,我们向列表添加两个元素,并将其转换为整数数组。该示例表明,在许多情况下,使用List类比使用数组更方便。