我想在C#中定义一个长度可变的二维数组,我想把从数据中取得的结果放到这个数组中??
是用 Array 来定义吗???

解决方案 »

  1.   

    不可能吧!!我记得java可以的啊!!
      

  2.   

    List<List<T>>
    Array的长度不能变
      

  3.   

    恩?怎么定义了 List?
    请大家指点一下!
      

  4.   

                List<List<int>> list = new List<List<int>>();
                for (int i = 1; i < 10; i++)
                {
                    List<int> item = new List<int>();
                    for (int j = 1; j <= i; j++)
                    {
                        item.Add(i * j);
                    }
                    list.Add(item);
                }
                foreach (List<int> item in list)
                {
                    foreach (int value in item)
                    {
                        Console.Write(value);
                        Console.Write('\t');
                    }
                    Console.WriteLine();
                }
                Console.ReadLine();
      

  5.   

    呵,有点复杂,
    我现在还想问另一个问题,我从数据库中取得了一个表的记录,放在了一个datatable中,我现在定义了一个行列跟datatable一样的二维数组,怎样直接把datatable的数据直接放到二维数组中呢???
    请执教一下这个问题,
      

  6.   

    datatable每一列的数据类型都是不一样的吧
    这样的话,就算不变长,2维数组也处理不了(除非用object[][]或object[,])
    每一行的数据类型应该可以事先确定吧,表都有了,可以写一个实体类,每一行变成这个实体类,二维数组问题,就变成了一维数组问题,变长的一维数组就是List<T>(这里的T是实体类的类名)里面直接Add实体类的实例如果lz用的是1.x的话,就是ArrayList代替List<T>
      

  7.   

    变成DataSet了。
    每个Table的实体类不同的话,少不了类型强转
    DataSet相当于List<IList>,不过建议修改成Dictonary<string, IList>,string放表名,如果有其他更好的标识符,就换其他标识符
    DataTable相当于List<T>
    再把DataTable的List<T>实例添加到DataSet的对应实例里面ArrayList的话,就是在ArrayList里面Add另一个ArrayList
      

  8.   

    根本不用转,直接把 DataTable 当二维数组用行了
      

  9.   

    我是想把DataTable的数据放入到数组中,以后的程序中用这个表就直接读这个二维数组就行了,不再操作数据库了??
      

  10.   

    yzh - Invalid method body. 谢谢你,谢谢!你说的有点复杂,小弟还是一头雾水!!!
      

  11.   

    有了DataSet,应该就简单了啊,比如你可用类型化的表对象(xxDataTable)或者
    直接用DataTable对象来读取DataSet中的数据,直接用它的DataTable属性也可以
    然后用,Rows(行集)来访问具体行成员就可以了.
      

  12.   

    arraylist只能表示一维啊,二维可变长度怎么实现呢?
      

  13.   


    ArrayList al=new ArrayList();
    al.add("aaa");
    al.add("bbb");//随便你添加多少值List<ArrayList> list=new List<ArrayList>();
    list.add(al);//将ArrayList添加到List<>中去//你可以写一个循环添加ArrayList添加到List<>中去//获取值
    foreach(ArrayList all in list)
    {
         string stra=all[0].toString();
         string strb=all[1].toString();
    }