请问在C#中,用foreach如何将datatable
请问在C#中,用foreach如何将datatable  
中的数据遍历,并存入一个数组中?
------解决方案--------------------DataTable中存储的类型是相同
以Int32类型为例
public Int32[][] DataTableToArray(DataTable dtTable)
{
 if(null == dtTable)
 {
   return new Int32[0][0];
 }
 Int32 arr = new Int32 [dtTable.Rows.Count][dtTable.Columns.Count];
 int i=0;
 int j=0;
 foreach (DataRow drTemp in dt.Rows)  
 {  
   i++;
   j = 0;
   foreach(DataColumn dcTemp in tables.Columns)  
   {  
     arr[i][j] = Convert.ToInt32(drTemp[dcTemp]);
     j++
   }  
 }  
 return arr;
}
如果类型不同的话,上述方法可以将Int32类型转化为Object类型处理
或整体修改为用ArrayList来存储
------解决方案--------------------定义一个类A,A的成员对应datable的列
按下面的代码:
list<A> arrlist= new list<A>();
foreach(DataRow row in tables.Rows)  
{  
   A item = new A();
   if (!Convert.IsDBNull(dr["表列名1"]))
   {
        item.与表列名对应的类成员1= Convert.ToInt32(dr["表列名1"]);
   }
   if (!Convert.IsDBNull(dr["表列名2"]))
   {
        item.与表列名对应的类成员2= Convert.ToInt32(dr["表列名2"]);
   }
   ......
   arrlist.Add(item);
}  
arrlist 就是你要的数组