1. 使用Array.Resize方法
C#中可以使用Array.Resize方法来扩容数组,该方法会重新分配一个新的数组,并将原数组的数据复制到新数组中。以下是使用Array.Resize方法进行数组扩容的示例:
int[] originalArray = new int[5] {1, 2, 3, 4, 5};
Array.Resize(ref originalArray, 10);
foreach (int num in originalArray)
{
Console.Write(num + " "); // 输出:1 2 3 4 5 0 0 0 0 0
}
在上面的示例中,我们首先创建了一个长度为5的整数数组originalArray,并给数组赋值。然后使用Array.Resize方法将数组的长度扩展为10。最后,遍历数组并输出数组的元素,可以看到扩容后数组的后面5个元素都被初始化为0。
需要注意的是,Array.Resize方法会创建一个新的数组,并将原数组的数据复制到新数组中。因此,这种方式可能会导致一定的性能开销。
2. 使用Array.Copy方法
另一种扩容数组的方式是使用Array.Copy方法。该方法可以将原数组中的元素复制到新数组中,并可以指定复制的起始位置和长度。以下是使用Array.Copy方法进行数组扩容的示例:
int[] originalArray = new int[5] {1, 2, 3, 4, 5};
int[] newArray = new int[10];
Array.Copy(originalArray, newArray, originalArray.Length);
foreach (int num in newArray)
{
Console.Write(num + " "); // 输出:1 2 3 4 5 0 0 0 0 0
}
在上面的示例中,我们首先创建了一个长度为5的整数数组originalArray,并给数组赋值。然后创建了一个长度为10的新数组newArray。接下来,使用Array.Copy方法将originalArray中的元素复制到newArray中。最后,遍历newArray并输出数组的元素,可以看到扩容后新数组的后面5个元素被初始化为0。
3. 使用List替代数组
除了使用数组的扩容方法,C#中还可以使用List
List<int> list = new List<int> {1, 2, 3, 4, 5};
list.Add(6);
foreach (int num in list)
{
Console.Write(num + " "); // 输出:1 2 3 4 5 6
}
在上面的示例中,我们首先创建了一个包含元素1到5的List
使用List
4. 使用Linq的Concat方法
在C#中,可以使用Linq的Concat方法来合并两个数组,并返回一个新的数组。以下是使用Concat方法进行数组扩容的示例:
int[] originalArray = new int[5] {1, 2, 3, 4, 5};
int[] newArray = new int[5] {6, 7, 8, 9, 10};
int[] combinedArray = originalArray.Concat(newArray).ToArray();
foreach (int num in combinedArray)
{
Console.Write(num + " "); // 输出:1 2 3 4 5 6 7 8 9 10
}
在上面的示例中,我们首先创建了一个长度为5的整数数组originalArray,并给数组赋值。然后创建了另一个长度为5的整数数组newArray,并给数组赋值。接下来,使用Concat方法将两个数组合并,并将结果赋值给新数组combinedArray。最后,遍历combinedArray并输出数组的元素,可以看到合并后的数组包含了原数组和新数组的所有元素。
总结
本文介绍了C#中数组扩容的几种方式,包括使用Array.Resize方法、Array.Copy方法、List
需要注意的是,数组扩容可能会带来一定的性能开销,因此在处理大量数据时,应该优化扩容操作,避免对性能产生过大的影响。