序列化是將物件狀態轉換為可保持或傳輸的格式的過程
例如,可以序列化乙個物件,然後使用http通過internet在客戶端和伺服器之間傳輸該物件。反之,
反序列化根據流重新構造物件
反序列化將流轉換為物件
序列化和反序列化過程結合起來,可以輕鬆的儲存和傳輸資料
什麼情況下手使用序列化和反序列化
永久儲存
將物件的狀態永久儲存在儲存**中,一邊可以在以後重新建立精確的副本
值封送通過值將物件從乙個應用程式域傳送到另乙個應用程式域中
.net框架提供的序列化技術
通過將物件序列化剪貼簿,可在不同的應用程式之間共享物件
可以將物件序列化到流、磁碟、記憶體和網路等等
遠端處理使用序列化「通過值」在計算機或應用程式域之間傳遞物件
xml序列化
將物件的公共欄位和屬性或者方法的引數和返回值序列化為符合特定xml架構定義語言(xsd)文件的
xml流。xml序列化生成強型別的類,並為儲存或輸出目的將其公共屬性和字段轉換為序列xml格式
提供或使用資料而不限制使用該資料的應用程式時使用xml序列化
xml序列化不包括型別資訊
注意:xml序列化不轉換方法、索引器、似有字段或唯讀屬性(唯讀集合除外)。要序列化物件的所
有字段和屬性(公共的和私有的),請使用二進位制序列化
以下是乙個二進位制序列化和反序列化的例項:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.runtime.serialization.formatters.binary;
using system.io;
namespace serializehelper
public byte objecttobyte(object obj)
//二進位制反序列化
public object deserializemenory(memorystream menorystream)
public object bytetoobject(byte buffer)}}
序列化和反序列化 C 序列化與反序列化。
序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...
C 序列化和反序列化
binaryserialize serialize new binaryserialize book book serialize.deserialize book.write 3 測試用的 binaryserialize類 using system using system.collections...
C 序列化和反序列化
對stu類進行序列化和反序列化操作序列化所用到的stu類using system using system.collections.generic using system.linq using system.text public string stuname public int stuage ...