通常,我们创建一个数组后就不能调整其长度,但是Array类提供了一个静态方法CreateInstance用来创建一个动态数组,所以我们可以通过它来动态调整数组的长度。
namespace ArrayManipulation
{
Class Program
{
static void Main (String[] args)
{
int[] arr = new int[]{1,2,3};
PrintArr(arr);
arr = (int[])Redim(arr,5);
PrintArr (arr);
arr = (int[]) Redim (arr, 2);
PrintArr (arr);
)
public static Array Redim (Array origArray, int desiredSize)
{
//determine the type of element
Type t = origArray.GetType().GetElementType();
//create a number of elements with a new array of expectations
//new array type must match the type of the original array
Array newArray = Array.CreateInstance (t, desiredSize);
//copy the original elements of the array to the new array
Array.Copy (origArray, 0, newArray, 0, Math.Min (origArray.Length, desiredSize));
//return new array
return newArray;
}
//print array
public static void PrintArr (int[] arr)
{
foreach (int x in arr)
{
Console.Write (x + ",");
}
Console.WriteLine ();
}
}
}</pre>
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。