再实际开发中可能用到DataSet作为一个变量整体传递,这时一定要注意DataSet是引用类型,即它被传递多少次,它只有一个实体。任何一个派生自他的变量的修改都会影响它的实体,也就影响所有派生自它的变量,那如何解决呢?。。。。
看这段:
CreateDS(); 获取一个对应数据库中的DataSet
方式一:
DataSet ds1 = CreateDS();
DataSet ds2 = new DataSet();
ds2=ds1;
DataSet ds3 = ds2;
这里实际上ds2,ds3都是来自ds1,它们三个中任意一个的变化操作都会影响其它两个。
方式二:
DataSet ds1 = CreateDS();
DataSet ds2 = new DataSet();
ds2.Merge(ds1);
DataSet ds3 = new DataSet();
ds3.Merge(ds2);
这中方式的应用才是三个数据集各自独立没有影响的应用。