深度復(fù)制與淺表復(fù)制的區(qū)別在于,淺表復(fù)制只復(fù)制值類型的值,而對(duì)于實(shí)例所包含的對(duì)象依然指向原有實(shí)例。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供鐵嶺網(wǎng)站建設(shè)、鐵嶺做網(wǎng)站、鐵嶺網(wǎng)站設(shè)計(jì)、鐵嶺網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、鐵嶺企業(yè)網(wǎng)站模板建站服務(wù),十載鐵嶺做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。class Program { [Serializable] public class Car { public string name; public Car(string name) { this.name = name; } } [Serializable] public class Person:ICloneable { public int id; public string name; public Car car; public Person() { } public Person(int id, string name, Car car) { this.id = id; this.name = name; this.car = car; } public Object Clone() //實(shí)現(xiàn)ICloneable接口,達(dá)到淺表復(fù)制。淺表復(fù)制與深度復(fù)制無直接有關(guān)系。 對(duì)外提供一個(gè)創(chuàng)建自身的淺表副本的能力 { return this.MemberwiseClone(); } } //要復(fù)制的實(shí)例必須可序列化,包括實(shí)例引用的其它實(shí)例都必須在類定義時(shí)加[Serializable]特性。 public static T Copy<T>(T RealObject) { using (Stream objectStream = new MemoryStream()) { //利用 System.Runtime.Serialization序列化與反序列化完成引用對(duì)象的復(fù)制 IFormatter formatter = new BinaryFormatter(); formatter.Serialize(objectStream, RealObject); objectStream.Seek(0, SeekOrigin.Begin); return (T)formatter.Deserialize(objectStream); } } static void Main(string[] args) { Person p1 = new Person(1, "Scott", new Car("寶馬")); Console.WriteLine("原始值:P1:id={0}----------->name={1}------>car={2}", p1.id, p1.name, p1.car.name); Person p2 = Copy<Person>(p1); //克隆一個(gè)對(duì)象 Person p3 = p1.Clone() as Person;//淺表復(fù)制 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("深度復(fù)制:P2:id={0}----------->name={1}------>car={2}", p2.id, p2.name, p2.car.name); Console.WriteLine("淺表復(fù)制:P3:id={0}----------->name={1}------>car={2}", p3.id, p3.name, p3.car.name); Console.ReadKey(); }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站jinyejixie.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
新聞標(biāo)題:C#復(fù)制和深度復(fù)制的實(shí)現(xiàn)方法-創(chuàng)新互聯(lián)
標(biāo)題URL:http://jinyejixie.com/article2/dedjic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、服務(wù)器托管、商城網(wǎng)站、定制網(wǎng)站、網(wǎng)站內(nèi)鏈、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容