Datatable的datarow怎么复制?


 query = (from s in dt.AsEnumerable() where s["YsKinds"].ToString().Contains(hd.Value) select s).First();
                    TempDR = query;//复制给新行
                    TempDR["yskinds"] = dropzjsubject.Text; TempDR["bzr"] = dropzjbzr.Text;//给新行赋值
                    UpdateRows.Add(TempDR);//Ilist添加新行
                    foreach (DataRow ds in dt.Rows)
                    {
                        Response.Write(ds["YsKinds"].ToString() + " " + ds["bzr"].ToString() + "<br/>");//结果居然是新行赋值后的值?难道dr也驻留的?
                    }



www说
浏览 608回答 1
1回答

犯罪嫌疑人X

TempDR = query;//复制给新行这不是复制,这是赋值,对于引用类型,是指定引用,也就是说 TempDR 和 query 指向同一个 DataRow.你应该用 DataRow.Clone() ,克隆一个新的 DataRow.
打开App,查看更多内容
随时随地看视频慕课网APP