欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【转载】C#的DataTable类Clone及Copy方法的区别

程序员文章站 2022-06-04 12:05:39
在C#中的Datatable类中,Clone方法和Copy方法都可以用来复制当前的DataTable对象,但DataTable类中的Clone方法和Copy方法还是有区别的,Clone方法只复制结构信息,包括所有 DataTable 架构和约束,但Copy方法除了复制结构信息之外,还复制DataTa ......

在c#中的datatable类中,clone方法和copy方法都可以用来复制当前的datatable对象,但datatable类中的clone方法和copy方法还是有区别的,clone方法只复制结构信息,包括所有 datatable 架构和约束,但copy方法除了复制结构信息之外,还复制datatable的表格行数据信息。

datatable.clone 方法:克隆 datatable 的结构,包括所有 datatable 架构和约束。

datatable.copy 方法:复制该 datatable 的结构和数据。

针对于datatable类中的copy方法和clone方法,举例如下:

            datatable datadt = new datatable();

            datadt.columns.add(new datacolumn() { columnname = "name" });
            datadt.columns.add(new datacolumn() { columnname = "id" });
            datadt.columns.add(new datacolumn() { columnname = "memo", datatype=typeof(string) });


            datarow newrow = datadt.newrow();
            newrow["name"] = "李四";
            newrow["id"] = 22;
            newrow["memo"] = "后续新增";
            datadt.rows.add(newrow);  

            datarow inserdatarow = datadt.newrow();
            inserdatarow["name"] = "王五";
            inserdatarow["id"] = 23;
            inserdatarow["memo"] = "第一行";
            datadt.rows.insertat(inserdatarow, 0);


            var newdt1 = datadt.clone();
            var newdt2 = datadt.copy();

从程序运行结果来看,newdt1和newdt2的结构信息一致无差别,但newdt1的数据行为0,而newdt2的数据行为2,并且newdt2中的数据与datadt表格数据一致。

 

备注:原文转载自博主个人站it技术小趣屋,原文链接为c#的datatable类clone及copy方法的区别_it技术小趣屋

博主个人技术交流群:960640092,博主微信公众号如下:

【转载】C#的DataTable类Clone及Copy方法的区别