原理,採用二進位制序列化將物件序列化為memorystream,再從memorystream反序列化為物件。
如下,
public bitmap deepclone(bitmap bitmap)
return dstbitmap;
}
可以以擴充套件方法的方式來寫深拷貝的函式,個人比較喜歡的方式。如下
public static bitmap deepclone(this bitmap bitmap)
return dstbitmap;
}
使用時直接:bit.deepclone();即可。
其他物件與此類似,如datatable
public static class globalfunctionex
return dstbitmap;
}public static datatable deelclone(this datatable datatable)
return dtnew;
}}
物件深拷貝
最近在專案中用到了物件拷貝這一塊,而且用到的是物件的深拷貝。下面就讓我們來看一下關於物件的拷貝 淺拷貝和深拷貝。先看一下深拷貝和淺拷貝的區別 概念 js 中的淺拷貝與深拷貝,只是針對複雜資料型別 object,array 的複製問題。淺拷貝與深拷貝都可以實現在已有物件上再生出乙份的作用。但是物件的例...
js 物件深拷貝 深拷貝與淺拷貝
前言 最近在複習一些面試的知識點,剛剛好複習到了這一部分,於是就寫下這篇文章記錄一下。一 值型別和引用型別 在學習深拷貝和淺拷貝之前,我們先來了解一下js的變數型別。值型別 vs 引用型別 值型別 值型別主要有 number,string,boolean,symbol,null,undefined ...
物件陣列的深拷貝和物件的深拷貝
1 對於 普通陣列 陣列元素為數字或者字串 深拷貝很簡單,拷貝之後兩個陣列指標指向的儲存位址不同,從而完成深拷貝 var test 1,2,3 原陣列 var testcopy concat test 拷貝陣列 testcopy 0 4 console.log test 1,2,3 console....