淺拷貝:
如果數組中的成員為值類型(如:int,float,double,byte等),則完全復制數值到目標數組中,如果是引用類型(如用戶自定義類型:class Student,class People,或者是類庫中的類類型:ArrayList等),則指復制引用給目標數組。
文字有時候不如代碼來得容易理解.但是這裡也許用圖更容易理解,看下圖:
假定創建一個學生類數組Student[],然後淺拷貝到另一個學生類數組Student1[]中
從圖中很容易看出所謂的淺拷貝對於引用類型,僅僅只是復制引用.通過一個數組修改內存中的值會影響另一個數組對內存對象的引用。
Array 類中的CopyTo和Clone函數都屬於淺拷貝。
深拷貝則是完完全全的創建一個個新對象.對原來數組中的所有對象全部創建新對象.對新數組中的修改不會影響原來數組中的值或對象。