听说ArrayList可以申明动态数据,但是我这样申明却是错的ArrayList[,] symbol = new ArrayList[,];
只有ArrayList[,] symbol = new ArrayList[pRows, pColumns];但这样也不是动态的啊!?
而且symbol.SetValue(1, j, i);我这样还报错“不能将对象存储在此类型的数组中。”
不知道应该怎么办???

解决方案 »

  1.   

    ArrayList[,] symbol = new ArrayList[,];是因为需要指定长度
    ArrayList[,] symbol = new ArrayList[100,10];
    不固定长度可以用交错数组
    int[][] obj = new int[]{new int[0]};
    或是用List<T>
      

  2.   

    动态数组使用List<T>
    Dictionary等
      

  3.   

    ArrayList list = new ArrayList();
    list.Add(Object);
      

  4.   

    ArrayList 是个动态数组...ArrayList al = new ArrayList();//这里不用定义这个数组的长度
    al.Add(1);
    al.Add("2");//是这么动态地..
      

  5.   

    var arr = new ArrayList();
    不过使用的时候需要"拆箱"
      

  6.   

    List<T> list = new List<T>(); //这里声明数组,但没有固定长度
    List.Add(T); //这里添加
      

  7.   

    如果你不愿采用List,ArrayList等,
    那就用Array.Resize来动态修改数组长度       string[] arr = new string[10];
                    //10=>100
                    Array.Resize(ref arr, 100);
      

  8.   

    ArrayList[,] symbol = new ArrayList[,];
    这种写法就是错的,我是想申明二维动态数组,不是一维
      

  9.   

    public class Data
    {
        private int _int1;
        private int _int2;
        public Data(int i1,int i2){}    public int Data1
        {
           get { return this._int1; }
           set { this._int1= value; }
        }
        
         public int Data2
        {
           get { return this._int2; }
           set { this._int2= value; }
        }}
     List<Data> dataList = new List<Data>();
     dataList.Add(new Data(1,2));
      

  10.   

     现在的我 都在盲目的使用 List<T>
      

  11.   

    Dictinary<int,List<T>>
    自定义实体类