这个问题可能很愚蠢,但我想了解 DataTable.Copy()命令是如何工作的。它创建原始数据表的深层副本,但它是否始终维护原始表中数据行的顺序?根据我的测试,它总是以与原始表中相同的顺序创建行。复制表中的订单或行是否可能与原始表不同?
答案 0 :(得分:1)
DataTable.Copy()
返回深层副本是正确的。无法保证在MSDN上指定行顺序,但如果它不同,则根据定义它不是副本。
如果您对目前的实现方式感到好奇,请查看DataTable.Copy()
的Microsoft参考源。您将看到它首先执行Clone()
。然后,它执行逐行复制。所以是的,当前的实现将保留行顺序。