程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#中的深復制和淺復制(2)

C#中的深復制和淺復制(2)

編輯:關於C語言

淺拷貝的一個Demo

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{

    class  Car
    {
        public string name;
        public Car(string name)
        {
            this.name=name;
        }
    }

    class Person
    {
        public int id;
        public string name;
        public Car car;
        public Person(int id, string name,Car car)
        {
            this.id = id;
            this.name = name;
            this.car = car;
        }

        public Object Clone()  //對外提供一個創建自身的淺表副本的能力
        {
            return this.MemberwiseClone();
        }

    }
  public class TestClone
    {


        public static void Main()
        {
            Person p1 = new Person(1, "Scott",new Car("寶馬"));
            Person p2 = (Person)p1.Clone(); //克隆一個對象
            Console.WriteLine("改變P1的值");
            p1.id = 2;
            p1.name="Lacy";
            p1.car.name="紅旗";
            Console.WriteLine("P1:id={0}----------->name={1}------>car={2}", p1.id,p1.name,p1.car.name);
            Console.WriteLine("P2:id={0}----------->name={1}------>car={2}", p2.id, p2.name,p2.car.name);

        }
   }
}

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