DataTable DataRow Clone关系及效率
调试程序时,发现需要注意的两点:
1.DataRow由DataTable的NewRow方法创建后,经过赋值,此时状态是Detached,没有被任何DataRowCollection加入,但是这并不意味着,可以被任意的原始表的克隆体的行集加入,它只能由创建它的表所属的行集加入,不然会报"该行已属于其他表"的错误.也就是说,谁建的,只能由谁来加.
2.DataTable.Clone的效率问题.Clone可以复制表的架构,但是这个操作相当耗时.如果经常要进行表的clone,然后加DataRow的话,最好尽量少的使用clone,将其提到最少的循环里面,循环最多的数据,则可以建立object[],为其赋值,加入时使用DataRow.Add(object[])方法.速度上提高很大,我做的测试中,至少提高了6倍的速度. 如果有更多的线程在跑这样的任务,耗时就更为巨大了.
阅读(1803) | 评论(0) | 转发(0) |