string[] strColNames = new string[12];
现在我想把数组多一个元素就是13个,但又不想重新定义,要怎样才可以完成呢?

解决方案 »

  1.   

    重新申明一个Arraylist类型的对象吧
      

  2.   

    C#中有没有添加一个数组的funtion啊,我现在不想重新定义
      

  3.   

    using System;class Test
    {
      static Array Redim(Array arr, int newSize)
      {
        Type t = arr.GetType().GetElementType();
        Array newArr = Array.CreateInstance(t, newSize);
        Array.Copy(arr, 0, newArr, 0, Math.Min(arr.Length, newSize));
        return newArr;
      }  static void Main()
      {
        string[] strColNames = new string[12];
        for (int i = 0; i < strColNames.Length; i++)
        {
          strColNames[i] = "C" + (i+1);
        }
        strColNames = (string[])Redim(strColNames, 13);
        strColNames[12] = "C13";
        foreach (string col in strColNames)
        {
          Console.Write(col + " ");
        }
      }
    }/* 程序输出:
    C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13
    */