自救必看三大準則

淺複製與深複製

原來很多人不知道,
自己筆記一個比較好的說明。

一、淺複製
創建一個新的執行個體時,這個 "新的執行個體" 對 "目前執行個體" 中所有成員變數進行複製。

實質型別:建立新的記憶體並複製值給"新的執行個體",當 "新的執行個體" 的欄位狀態改變,不會影響 "目前執行個體" 的狀態
參考型別:建立新的記憶體並參考原有的記憶體位置給"新的執行個體",當 "新的執行個體" 的欄位狀態改變,會影響 "目前執行個體" 的狀態


二、深複製
是創建一個新的執行個體時,這個 "新的執行個體" 對 "目前執行個體" 中所有成員變數(包含參考型別)進行複製,不論甚麼型別當 "新的執行個體" 的欄位狀態改變,不會影響 "目前執行個體" 的狀態

.懶人包
-淺複製/Shallow copy:大多用來參考型別,對克隆體修改會影響原物件
-深複製/Deep copy:用來修改實際參數做執行,對克隆體修改不會影響原物件

留言

這個網誌中的熱門文章

IIS - ASP.NET 網站基本優化設定

Node.js 部署至 IIS 站台

遇見 Parameters 參數上限之大量資料寫入方法