using System;
namespace Redim
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class App
{
[STAThread]
static void Main(string[] args)
{
Int32[] arr = new Int32[] {1 , 2 , 3};
foreach (Int32 x in arr)
Console.Write(x + " ");
Console.WriteLine();
arr = (Int32[])Redim(arr , 5);
foreach (Int32 x in arr)
Console.Write(x + " ");
Console.WriteLine();
arr = (Int32[]) Redim(arr , 2);
foreach (Int32 x in arr)
{
Console.Write(x + " ");
}
Console.ReadLine();
}
public static Array Redim (Array origArray , Int32 desiredSize)
{
Type t = origArray.GetType().GetElementType();
// Int32[] newArray =new Int32[desiredSize];
Array newArray = Array.CreateInstance(t, desiredSize);
Array.Copy(origArray,newArray,Math.Min(origArray.Length,desiredSize));
// Array.Copy(origArray,0,newArray,0,Math.Min(origArray.Length,desiredSize));
//从指定的源索引开始,复制 Array 中的一系列元素,将它们粘贴到另一 Array 中(从指定的目标索引开始)。长度和索引指定为 32 位整数。
return newArray;
}
}
}