打个比方用for
int _col = ds.Tables[0].Columns.Count;                for (int i = 0; _col > i; i++)
                {
                    数据.add(str + ds.Tables[0].Columns[i].ColumnName) = ds.Tables[0].Rows[0][i].ToString();
                }
换成foreach我觉得要快。
但不知道怎么写
foreach (DataColumn _col in ds.Tables[0].Columns)
                {
                    _col.第一行 有这么写发的吗?
                }

解决方案 »

  1.   

     数据[str + ds.Tables[0].Columns[i].ColumnName] = ds.Tables[0].Rows[0][i].ToString(); 
    上面写错
      

  2.   

    foreach (DataColumn _col in ds.Tables[0].Columns) 
         { 
              数据.add(str + _col.ColumnName) = ds.Tables[0].Rows[0][_col.ColumnName].ToString();       }
      

  3.   

     ds.Tables[0].Rows[0][_col.ColumnName].ToString(); 
    我就是想改变哈方式访问数据呀.这么搞还是没变化.
      

  4.   

    如果for好用的话,这也好用
    foreach (DataColumn _col in ds.Tables[0].Columns) 
        { 
              数据.add(str + ds.Tables[0].Columns[i].ColumnName) = ds.Tables[0].Rows[0][i].ToString();     }
      

  5.   

    foreach并不会快从colume无法得到行,table是以行为单位组织数据的,所以访问数据都是从行出发:
    Tables[0].Rows[0][i]
      

  6.   

    当然可以了,不过一般对column循环都是取header的内容,很少取行的值,否则就对行循环了。
      

  7.   

    数据.add(str + ds.Tables[0].Columns[i].ColumnName) = ds.Tables[0].Rows[0][i].ToString(); 
    总觉得有点怪怪的感觉!
      

  8.   


    foreach(DataColumn dc in ds.Tables[0].Columns)
    {
        数据[str + dc.ColumnName] = ds.Tables[0].Rows[0][dc].ToString();  
    }
      

  9.   


    感觉没到达最佳,是不是foreach(DataColumn dc in ds.Tables[0].Columns) 这里需要换个方式呢?