因为我需要数组,其实程序中没有p1,al是动态生成的,现在要把al转换成p1。

解决方案 »

  1.   

    是不是应该这么写 p2 = (Point[])al.ToArray() ?
      

  2.   

    我是这样用的:
    int j = 0;
    j = al.Count;
    Point[] p2 = new Point[j];
    for(int k = 0; k <j;k++)
        p2[k] = (Point)al[k];al在前面已经有了,p2临时生成,这里用了个循环,不过我想既然提供了ToArray()这个方法,那么就一定可以不用循环而将ArrayList转换为数组。可是我不会。大家帮忙啊。
      

  3.   

    To: Orangeate(丫头) 
    这样不行,我试过了。
      

  4.   

    p2 = (Point[])al.ToArray(typeof(Point))
      

  5.   

    ArrayList.CopyTo Methodhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemcollectionsarraylistclasscopytotopic3.asp