深拷贝

浅拷贝示例:

//
// 功能: 学习一下深拷贝.. 
// 
//

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics; // 调试
using System.Collections;

namespace benben_CSharp_first
{
    class CDemo
    {
        public int[] intArray = new int[] { 0, 1, 2, 3, 4 };

        public void showElement()
        {
            foreach (int iValue in intArray)
            {

                Console.Write("{0}  ", iValue);
            }
            Console.WriteLine();
        }
    }
   
    class Test
    {
        static void Main()
        {
            CDemo d_1 = new CDemo();
            CDemo d_2 = d_1;
            d_1.showElement();
            d_2.showElement();


            // 修改 d_1 后再打印元素
            d_1.intArray[0] = 100;
            d_1.showElement();
            d_2.showElement(); // 注意这一行的打印输出也和上一行一样..     

            Console.ReadKey();        
        }
    }
}


 

深拷贝示例:

//深拷贝示例:  // // 功能: 学习一下深拷贝.. // //

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; // 调试 using System.Collections;

namespace benben_CSharp_first {     class CDemo //: ICloneable     {         public int[] intArray = new int[] { 0, 1, 2, 3, 4 };

        public void showElement()         {             foreach (int iValue in intArray)             {

                Console.Write("{0}  ", iValue);             }             Console.WriteLine();         }

        public object Clone()         {             CDemo cloner = new CDemo();             Array.Copy(this.intArray, cloner.intArray, this.intArray.Length);             return cloner;                    }

    }

    class Test     {         static void Main()         {             CDemo d_1 = new CDemo();             CDemo d_2 = (CDemo)d_1.Clone();             d_1.showElement();             d_2.showElement();

            // 修改 d_1 后再打印元素             d_1.intArray[0] = 100;             d_1.showElement();             d_2.showElement(); // 注意这一行的打印输出也和上一行不一样. 说明是深拷贝.    

            Console.ReadKey();         }     } }


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值