using System;
using System.Data;nameSpace ConsoleApp{
...
  public static void Main()
  {
    //为什么非要用全称System.Data.DataRow呢?用DataRow代替即出现错误:D:\dotnet\ConsoleApp\DataSet_Sample.cs(42): 无法将类型“System.Data.DataRow”隐式转换为“ConsoleApp.DataRow”    foreach(System.Data.DataRow eleRow in dt.Rows)
    ...
  }
}以前用DataRow都没问题啊。另:csc编译和VS.Net生成有区别吗?为什么我在VS.Net逐语句调试时整个项目都调试了?而csc命令只生成指定cs文件的exe文件?

解决方案 »

  1.   

    你的工程里有一个名为DataRow的类或属性。
    命名发生了冲突。
      

  2.   

    你的工程里有一个名为DataRow的类
    命名发生了冲突。
    这时候系统认为
    foreach(DataRow eleRow in dt.Rows)
    中的eleRow是你工程中定义的DataRow类型(ConsoleApp.DataRow)
    所以会出现这个问题。要解决问题,给工程中的DataRow类重新起个名字就行了。
      

  3.   

    在你工程内 有 ConsoleApp.DataRow 类  与System.Data.DataRow  命名多译了