c#自建Redim动态数组

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;

  }
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值