我用数组存储一个波形,由于需要存储多个这样的波形,而个数又不确定,所以想用ArrayList。问题来了:数组做arraylist的元素
        int[] wavedata;
        ArrayList wavelist = new ArrayList();
        wavelist.Add(wavedata);
这样wavelist里存储的元素是整个数组呢?还是数组的地址呢?还是数组的引用呢?如果我要使用某个数组应该怎么写代码呢?

解决方案 »

  1.   

    建议使用
    List<int[]> wavelist
      

  2.   

    ++
    ArrayList 无法保证类型安全
      

  3.   

    楼主这样存也是行的,你的波形具体是一个什么数据类型,如果就是int数据,上面这样也是可以的对ArrayList进行循环取
      

  4.   

    能详细写下代码吗?我应该如何定义,如何添加数组,加入我要用List<int[]>的元素做函数参数的话怎么办呢?
      

  5.   

    现在主要的问题是我自定义了一个函数,他传递数组的引用做参数:
            private void PicDraw(int index,ref Graphics pic,Color color,ref int[] data,int samprate)
    那我现在要使用数组该怎么办呢?我传入ArrayList[index]编译提示不能将object转化为int[]
      

  6.   

    Example....        static void Main(string[] args)
            {
                int[] a = { 1, 2, 3, 4, 5 };
                int[] b = { 6, 7, 8, 9, 10 };
                List<int[]> list = new List<int[]> { a, b };
                Fun(list);
                Console.ReadLine();
            }
            public static void Fun(List<int[]> list)
            {
                foreach(int[] i in list)
                {
                    foreach (int x in i)
                    {
                        Console.Write(x);
                    }
                    Console.WriteLine();
                }
            }
      

  7.   

    谢谢啊,我去试试。还有我只想把list中的元素引用传入参数应该怎么写呢?再次感谢!
      

  8.   

    我试了下,可以的。要穿其中元素的话可以用list.ElementAt(index)。请问这样传入的是元素的副本呢还是引用呢(list的元素当然还是数组啦)?还有其他的方法吗?求教了!