C#中动态调整数组大小的代码

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

通常,我们创建一个数组后就不能调整其长度,但是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 ();
        }
    }
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:php代码的加密解密

下一篇:C#对字符串进行压缩和解压缩的算法代码