clone 是傳遞一個引用,相當於創建了一個指向原字符串的一個指針,copy是復制一個對象。
DataTable dt=new DataTable();
DataTable dtcopy=dt.copy();
DataTable dtclone=dt.clone();
這兩種方式都是創建了一個新的對象,copy復制的是值和一些約束等,clone復制的是架構,直接這樣clone,則dtclone沒有值。
DataTable.Copy 方法
返回值
新的 DataTable,它具有與該 DataTable 相同的結構(表架構和約束)和數據。
注意 如果這些類已經過派生,則副本也具有相同的派生類。
示例
以下示例使用 Copy 方法創建初始 DataTable 的副本。
[C#]
private void CopyDataTable(DataTable myDataTable){
// Create an object variable for the copy.
DataTable copyDataTable;
copyDataTable = myDataTable.Copy();
// Insert co
}
DataTable.Clone 方法
返回值
新的 DataTable,與當前的 DataTable 具有相同的架構。
備注
注意 如果這些類已經過派生,則副本也具有相同的派生類。
示例
以下示例創建 DataTable 對象架構的復本。
[C#]
private void GetClone(DataTable myDataTable){
// Get a clone of the original DataTable.
DataTable cloneTable;
cloneTable = myDataTable.Clone();
// Insert co
}
小注:clone()函數只復制了表的結構,顯示數據的話,還需要綁定數據源。