C# 中定义长度可变的二维数组???? 我想在C#中定义一个长度可变的二维数组,我想把从数据中取得的结果放到这个数组中??是用 Array 来定义吗??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不可能吧!!我记得java可以的啊!! List<List<T>>Array的长度不能变 恩?怎么定义了 List?请大家指点一下! 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(); 呵,有点复杂,我现在还想问另一个问题,我从数据库中取得了一个表的记录,放在了一个datatable中,我现在定义了一个行列跟datatable一样的二维数组,怎样直接把datatable的数据直接放到二维数组中呢???请执教一下这个问题, datatable每一列的数据类型都是不一样的吧这样的话,就算不变长,2维数组也处理不了(除非用object[][]或object[,])每一行的数据类型应该可以事先确定吧,表都有了,可以写一个实体类,每一行变成这个实体类,二维数组问题,就变成了一维数组问题,变长的一维数组就是List<T>(这里的T是实体类的类名)里面直接Add实体类的实例如果lz用的是1.x的话,就是ArrayList代替List<T> 变成DataSet了。每个Table的实体类不同的话,少不了类型强转DataSet相当于List<IList>,不过建议修改成Dictonary<string, IList>,string放表名,如果有其他更好的标识符,就换其他标识符DataTable相当于List<T>再把DataTable的List<T>实例添加到DataSet的对应实例里面ArrayList的话,就是在ArrayList里面Add另一个ArrayList 根本不用转,直接把 DataTable 当二维数组用行了 我是想把DataTable的数据放入到数组中,以后的程序中用这个表就直接读这个二维数组就行了,不再操作数据库了?? yzh - Invalid method body. 谢谢你,谢谢!你说的有点复杂,小弟还是一头雾水!!! 有了DataSet,应该就简单了啊,比如你可用类型化的表对象(xxDataTable)或者直接用DataTable对象来读取DataSet中的数据,直接用它的DataTable属性也可以然后用,Rows(行集)来访问具体行成员就可以了. arraylist只能表示一维啊,二维可变长度怎么实现呢? 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();} 新手请教Linq算法: C#中如何打开位图文件然后继续写入一个位图文件 请问有没有专门研究人机博弈的网站或者论坛? 各位大哥,问你们个平时写代码时的问题 如何在internet中应用remoting 请教使用C#绘制拓扑图的解决方案 为什么我代码老是出错啊,我也不知道错那里了(关于文件操作的) 大侠帮忙看看这段代码哪里内存没释放,谢谢 发gmail邀请,有100个。 急求大侠关于从ListView拖拽文件到电脑桌面的问题,万分感谢! 请问各位高手,在C#里如何获取U盘的盘符??? ILMerge(合并Dll和EXE文件)到底怎么用呀????
Array的长度不能变
请大家指点一下!
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();
我现在还想问另一个问题,我从数据库中取得了一个表的记录,放在了一个datatable中,我现在定义了一个行列跟datatable一样的二维数组,怎样直接把datatable的数据直接放到二维数组中呢???
请执教一下这个问题,
这样的话,就算不变长,2维数组也处理不了(除非用object[][]或object[,])
每一行的数据类型应该可以事先确定吧,表都有了,可以写一个实体类,每一行变成这个实体类,二维数组问题,就变成了一维数组问题,变长的一维数组就是List<T>(这里的T是实体类的类名)里面直接Add实体类的实例如果lz用的是1.x的话,就是ArrayList代替List<T>
每个Table的实体类不同的话,少不了类型强转
DataSet相当于List<IList>,不过建议修改成Dictonary<string, IList>,string放表名,如果有其他更好的标识符,就换其他标识符
DataTable相当于List<T>
再把DataTable的List<T>实例添加到DataSet的对应实例里面ArrayList的话,就是在ArrayList里面Add另一个ArrayList
直接用DataTable对象来读取DataSet中的数据,直接用它的DataTable属性也可以
然后用,Rows(行集)来访问具体行成员就可以了.
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();
}