DataSet ds = new DataSet(); ds.Tables.Add(); ds.Tables[0].Columns.Add("name"); ds.Tables[0].Columns.Add("age"); ds.Tables[0].Columns.Add("sex"); ds.Tables[0].Rows.Add(); ds.Tables[0].Rows.Add(); ds.Tables[0].Rows[0]["name"] = "张三"; ds.Tables[0].Rows[0]["age"] = 15; ds.Tables[0].Rows[0]["sex"] = "男"; ds.Tables[0].Rows[1]["name"] = "李四"; ds.Tables[0].Rows[1]["age"] = 28; ds.Tables[0].Rows[1]["sex"] = "女"; DataSet ds2 = new DataSet(); ds2 = ds; DataTable dt = new DataTable(); dt = ds.Tables[0]; dt.Rows[0]["name"] = "大刀王五";
当修改dt的name值时,ds2、ds中的name值也会相应改变,因为他们所读取的内存空间是一样的。所以要在不修改原ds的内存的前提下修改dt内容的话,可以用
dt = ds.Tables[0].Copy();