閱讀813 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

  上一篇:go Oracle 數據類型定義
  下一篇:go ASP裏Request對象的探討