DataSet A = new DataSet();
DataSet B = new DataSet();不要回答A.Equal(B),如果你认为这个结果是对的,呵呵,你也测试一下:PConsole.Write(A.Equal(B));结果:false

解决方案 »

  1.   

    你自己可以从DataSet继承,重写Equal方法,提供你自己的实现。默认的Equal应该调用的是Object.ReferenceEqual。
      

  2.   

    DataSet A = new DataSet();
    DataSet B = new DataSet(); 
    这是两个对象肯定不会相等
    DataSet a = new DataSet();
    DataSet b = b;
    Console.Write(a.Equal(b));
      

  3.   

    你的意思是内容相等? Console.WriteLine(new DataSet().GetXml() == new DataSet().GetXml());
      

  4.   

    要是判断内容是不是相等,我有个小思路不知对不对。1. 首先,判断数据条数是不是相同。rows.count 如果这都不相同,那就不用讲了,不同。如果相同。2. 用for循环,判断每一个内容。哈。哈,是不是挺笨啊,但是如果位置可以不相同的话就麻烦了。
      

  5.   

    你现在的A和B本来就不相等。
    DataSet A = new DataSet(); 
    DataSet B = A;Console.Write(A.Equal(B)); 这样就是True了。
      

  6.   


    肯定会是false!            DataSet a = new DataSet();
                DataSet b = a;            Console.Write(a.Equals(b));
      

  7.   

    DataSet A = new DataSet(); 
    DataSet B = new DataSet(); 这样,A是肯定不能等于B的,因为生成了两个引用.怎么可能相等?这样就可能相等
     DataSet ds1 = new DataSet();
            DataSet ds2 = ds1;
    ds1.Equals(ds2) -->True
      

  8.   

    都被你们说得我好像没学过C#了! 我现在就是要引用不相等! zccmy22 的说法我想过,记录不多却实可以,至于重写也想过.我做的东西是,先把修改的值放到XML中,用DataSet操作.读取的时候同时放放二个DataSet中,如果第一个DataSet和第二个的记录不一样时,执行保存操作,相等,不做任何事.而你们所说的引用相等,根本就是一回事!改和没改永远是返回:TRUE!第一个引用的内容改了,第二个引用的内容你敢说它不改?如果是string就另有说法