前面寫了一個java的對象拷貝,是以也寫個c#的。其實c#跟java語言的相似度是極高的,是以它們的對象之間的指派也是相同的,隻是不過他們對應的方法不一樣。
淺拷貝
c#中所提供的淺拷貝方法是object類提供的object MemberwiseClone()。
深拷貝
當然c#中的深拷貝也可以用java中的方法,每一個類裡面都用前拷貝。。。。
c#中也可以用序列化,序列化的方法也是将類對象輸入到記憶體中,然後将資料反序列化到新的object,然後傳回。代碼如下:
object o;
MemoryStream ms = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter(null, new StreamingContext(StreamingContextStates.Clone));
bf.Serialize(ms, this);
ms.Seek(, SeekOrigin.Begin);
o = bf.Deserialize(ms);
return o;
總結
對比學習也是學習的好方法。有什麼不對的期望大家能夠指出,不勝感激。