Normally when I want to grab a copy of an existing DataTable I call the Copy method are return the value to a new object.

I've been cleaning up some legacy code and noticed using Clone and then iterating through each row and calling ImportRow into the new DataTable.

<!-- language: lang-vb -->
'is this...
TempTable = myDataTable.Clone
For Each dr As DataRow In myDataTable.Rows
    TempTable.ImportRow(dr)
Next

'the same as this...
TempTable = myDataTable.Copy

I'd like to clean it up and simplify by using the Copy method, but just want to make sure I'm not breaking anything. Is there a difference between the two methods here about holding references or doing a deep vs. shallow copy?