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