發表文章

目前顯示的是有「開發工具類-C#-深/淺複製」標籤的文章

自救必看三大準則

淺複製與深複製

原來很多人不知道, 自己筆記一個比較好的說明。 一、淺複製 創建一個新的執行個體時,這個 "新的執行個體" 對 "目前執行個體" 中所有成員變數進行複製。 實質型別:建立新的記憶體並複製值給"新的執行個體",當 "新的執行個體" 的欄位狀態改變,不會影響 "目前執行個體" 的狀態 參考型別:建立新的記憶體並參考原有的記憶體位置給"新的執行個體",當 "新的執行個體" 的欄位狀態改變,會影響 "目前執行個體" 的狀態 二、深複製 是創建一個新的執行個體時,這個 "新的執行個體" 對 "目前執行個體" 中所有成員變數(包含參考型別)進行複製,不論甚麼型別當 "新的執行個體" 的欄位狀態改變,不會影響 "目前執行個體" 的狀態 .懶人包 -淺複製/Shallow copy:大多用來參考型別,對克隆體修改會影響原物件 -深複製/Deep copy:用來修改實際參數做執行,對克隆體修改不會影響原物件