C 序列化之一

2021-04-12 20:48:18 字數 2071 閱讀 2777

術語(term):

1、序列化:序列化是將物件狀態轉換為可儲存或傳輸的格式的過程。 

2、二進位制序列化:二進位制序列化保持型別保真度。

3、xml序列化,soap(****** object  access protocol簡單物件訪問協議)序列化:xml序列化僅序列化公共屬性和字段,且不保持型別真度。

應用:可以將程式中的物件序列化到剪貼簿、流檔案、磁碟上等。這樣可以實現應用程式共享資料。比如遊戲儲存等。

.net framework提供兩種序列化技術:二進位制序列化和xml序列化。

示例:using system;

using system.xml;

using system.xml.serialization;

using system.io;

public class address

}public class test

private void createpo(string filename)

;po.ordereditems = items;

// calculate the total cost.

decimal subtotal = new decimal();

foreach (ordereditem oi in items)

po.subtotal = subtotal;

po.shipcost = (decimal)12.51;

po.totalcost = po.subtotal + po.shipcost;

// serializes the purchase order, and closes the textwriter.

serializer.serialize(writer, po);

writer.close();

}protected void readpo(string filename)

// reads the subtotal, shipping cost, and total cost.

console.writeline(

"/n/t/t/t/t/t subtotal/t" + po.subtotal +

"/n/t/t/t/t/t shipping/t" + po.shipcost +

"/n/t/t/t/t/t total/t/t" + po.totalcost);}

protected void readaddress(address a, string label)

protected void serializer_unknownnode(object sender, xmlnodeeventargs e)

protected void serializer_unknownattribute(object sender, xmlattributeeventargs e)

}//xml 輸出可能如下:

C 序列化 反序列化

序列化又稱序列化,是.net執行時環境用來支援使用者定義型別的流化的機制。其目的是以某種儲存形成使自定義物件持久化,或者將這種物件從乙個地方傳輸到另乙個地方。net框架提供了兩種序列化的方式 1 是使用binaryformatter進行序列化 2 使用soapformatter進行序列化 3 使用x...

序列化和反序列化 C 序列化與反序列化。

序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...

C 序列化與反序列化

一 概述 當兩個程序在進行遠端通訊時,彼此可以傳送各種型別的資料。無論是何種型別的資料,都會以二進位制序列的形式在網路上傳送。傳送方需要把這個物件轉換為位元組序列,才能在網路上傳送 接收方則需要把位元組序列再恢復為物件。把物件轉換為位元組序列的過程稱為物件的序列化。把位元組序列恢復為物件的過程稱為物...