改变数组的长度

C#中没有redim函数,但你可以通过Array对象实现redim函数。 
以下是Microsoft  .Net框架程序设计(修订版)中实现  redim函数的方法: 
public  static  Array  Redim(Array  origArray,Int32  desiredsize) 

         //确定每个元素类型   
         Type  t=origArray.GetType().GetElementType(); 
         //创建一个含有期望元素个数的新数组 
         //新数组的类型必须匹配原数组的类型 
         Array  newArray=Array.CreateInstance(t,desiredsize); 
         //将原数组中的元素拷贝到新数组中 
         Array.Copy(origArray,0,newArray,0,Math.Min(origArray.Length,desiredsize)); 
         return    newArray; 

 
--------------------------------------------------------------- 
 
不借助ArrayList类对Array进行操作 
改变数组的大小 
public  static  Array  Resize(Array  array,  int  newSize) 
       { 
               Type  type  =  array.Type; 
               Array  newArray  =  Array.CreateInstance(type.GetElementType(),  newSize); 
               Array.Copy(array,  0,  newArray,  0,  Math.Min(newArray.Length,  newSize))l 
               return  newArray; 
       } 
posted @ 2006-09-08 16:17  Titans  阅读(620)  评论(0编辑  收藏  举报