string cmdText = "select * from 表 where 条件";
            DataTable dt = Mydata.GetTable(cmdText);
            DataRow dr = dt.NewRow();
            foreach (DataRow dr in dt.Rows)    //有错误
            {CS0136: A local variable named 'dr' cannot be declared in this scope because it would give a different meaning to 'dr', which is already used in a 'parent or current' scope to denote something else
请问一下这个是什么错误,这样写哪里不对

解决方案 »

  1.   

    把foreach前的DataRow dr = dt.NewRow();去掉
      

  2.   

    string cmdText = "select * from 表 where 条件"; 
                DataTable dt = Mydata.GetTable(cmdText); 
                DataRow dr = dt.NewRow(); 
                foreach (DataRow dr in dt.Rows)    //有错误 
                { 
    外部使用了变量dr  foreach内部换成另外的变量名, 例如 drr,只要不是dr就行
      

  3.   

    把foreach前的DataRow dr = dt.NewRow();去掉 
      

  4.   

    A local variable named 'dr' cannot be declared in this scope because it would give a different meaning to 'dr', which is already used in a 'parent or current' scope to denote something else你在foreach ()   中声明了一个变量dr
    又在上一行声明了一个dr变量改个名就可以了
      

  5.   

    foreach (DataRow dr in dt.Rows) 上面已经有dr了,这里换个名称 如dr1 之类的
      

  6.   

    foreach (DataRow dr in dt.Rows) 
    同上,啊
      

  7.   

    DataRow dr 在同一个范围内声明了两次,只声明一次就够
      

  8.   

    DataRow dr 在同一个范围内声明了两次,只声明一次就够。
    并把foreach前的DataRow dr = dt.NewRow();去掉 ,这样才不会报错!!