天天看點

21. C# --淺複制與深複制

淺複制是指當對象的字段值被複制時,字段引用的對象不會被複制·例如,如果一個對象有一個指向字元串的字段,并且我們對該對象做了一個淺複制,那麽兩個對象将引用同一個字元串·

執行個體一:淺複制,字段為值類型;(程式中涉及到的字段類型是值類型,對該字段進行逐位複制)

結果:

21. C# --淺複制與深複制

執行個體二:淺複制,字段為引用類型;(如果字段涉及到引用類型的話,則複制引用但不複制引用中的對象。)

 結果:

21. C# --淺複制與深複制

深複制是将指向内容複制到給目前對象新配置設定的緩沖區中的一種複制方式,相對于淺複制。

是對對象事例中字段引用的對象也進行複制的一種方式.是以,如果一個對象有一個指向字元串的字段,并且對該對象做了一個深複制的話.我們将建立一個新的對象和一個新的字元串.-新對象将指向新字元串.

執行個體三:深複制,字段為引用類型;(深複制是把引用對象的變量指向複制過的新對象,而不是原有的被引用的對象)

21. C# --淺複制與深複制

 參考: http://blog.csdn.net/cjr15233661143/article/details/8583102