程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中的淺拷貝與深拷貝

C#中的淺拷貝與深拷貝

編輯:C#入門知識

淺拷貝:

如果數組中的成員為值類型(如:int,float,double,byte等),則完全復制數值到目標數組中,如果是引用類型(如用戶自定義類型:class Student,class People,或者是類庫中的類類型:ArrayList等),則指復制引用給目標數組。

文字有時候不如代碼來得容易理解.但是這裡也許用圖更容易理解,看下圖:

假定創建一個學生類數組Student[],然後淺拷貝到另一個學生類數組Student1[]中

 \

從圖中很容易看出所謂的淺拷貝對於引用類型,僅僅只是復制引用.通過一個數組修改內存中的值會影響另一個數組對內存對象的引用。

Array 類中的CopyTo和Clone函數都屬於淺拷貝。

 

深拷貝則是完完全全的創建一個個新對象.對原來數組中的所有對象全部創建新對象.對新數組中的修改不會影響原來數組中的值或對象。


作者:diyoosjtu

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved