clientSocketInfo = new ArrayList[12];你不可以写成
private static ArrayList [] clientSocketInfo = new xxxx
因为不可以在定义的地方赋值,clientSocketInfo = new ArrayList[12];这句应该写在构造函数里,或者用到的时候。

解决方案 »

  1.   

    ArrayList [] clientSocketInfo = new ArrayList[5];
    for(int i = 0; i < 5; i++)
    {
    clientSocketInfo[i] = new ArrayList();
    } clientSocketInfo[0].Add(1);
      

  2.   

    ArrayList [] clientSocketInfo = new ArrayList [n];
      

  3.   

    1,由于你用的是add 所以可以直接 new ArrayList();2,
    多线程中静态或已经实例拥有句柄的类的成员都可以访问到多线程主要考虑的不是这个,而是同时并发操作冲突,在访问范围这样的事情和普通单线程没有区别(并发操作不存在的情况下)
      

  4.   

    如果是数组,可以用HashTable,SortList,说不定比ArrayList强的多,或者定义为class