ArrayList[] array = new ArrayList[5];
string s = "ssss";
array[1].add(s);执行到ADD会出异常,为什么?

解决方案 »

  1.   

    改成
    ArrayList[]   array   =   new   ArrayList[5]; 
    string   s   =   "ssss"; 
    array.add(s); 
    试试
      

  2.   

    array[1].add(s); 
    改为array.add(s);就可以啊。array[1]是一个元素,不能添加,只能修改啊
      

  3.   

    ArrayList[]   array   =   new   ArrayList[5]; 
    string   s   =   "ssss"; 
    array.Add(s);
    MessageBox.Show(array[0].ToString());
    没有任何问题
      

  4.   

    楼上的都没看清楚,lz的代码是这样解释的:
    ArrayList[] array = new ArrayList[5];//创建一个元素为ArrayList的数组,数组长度是5,数组每个元素为null
    string s = "ssss";//不说了
    array[1].Add(s);//取出数组的第2个元素,ArrayList型,实际是null,调用Add方法,抛出空引用异常
      

  5.   

    我的意思是声明5个ArrayList这样声明不行吗 ?
      

  6.   

    ArrayList[]   array   =   new   ArrayList[5]; 
    string   s   =   "ssss"; 
    array[1]=new ArrayList();
    array[1].add(s); 
      

  7.   

    ArrayList[] array = new ArrayList[5];
    //把这个引用类型数组初始化下
    for(int i =  0;i<5;i++)
    {
      array[i] = new ArrayList();
    }
    //初始化结束,下面想怎么操作都行了.
    string       s       =       "ssss";
    array[1].add(s);   
      

  8.   

    楼主的问题是没有对数组的5个元素进行初始化,所以错误应该是“未将对象引用指向对象实例”吧?
    ArrayList[]   array   =   new   ArrayList[5]; 
    for(int i=0;i<5;i++)
    {
     array[i] = new ArrayList();
    }
    string   s   =   "ssss"; 
    array[1].add(s); 这样就可以了,如果没有初始化,那么每个数组元素都是null。
      

  9.   

    楼上的说得对。
    ArrayList[] array = new ArrayList[5];  //这句只创建了包含ArrayList数组的ArrayList[]数组的数组的实例array,但并没有为其中的每一个ArrayList数组创建实例。