序列化和反序列化,我們可能經常會聽到,其實通俗一點的解釋,序列化就是把乙個物件儲存到乙個檔案或資料庫欄位中去,反序列化就是在適當的時候把這個檔案再轉化成原來的物件使用。
1、在程序下次啟動時讀取上次儲存的物件的資訊
3、在分布式應用系統中傳遞資料
.............
常見的序列化的方法:
1、binaryformatter
2、soapformatter
3、xml序列化
用法:binaryformatter的用法大致如下:
view code
1xml序列化的用法大致如下://binaryformatter將物件序列化到檔案中
2 list inputlist = new list() ;
3using (filestream fswriter = new filestream(@"
gz168168.tmp
",filemode.create,fileaccess.write))49
10//
binaryformatter將檔案中的資料反序列化出來
11 list outputlist = new list();
12using (filestream fsreader = new filestream(@"
gz168168.tmp
",filemode.open,fileaccess.read))
13
view code
1兩個的用法大致如下://xml序列化到test.xml檔案中
2 list inputlist = new list() ;
3using (filestream fswriter = new filestream(@"
test.xml
",filemode.create,fileaccess.write))48
9//從test.xml檔案中反序列化出來
10 list outputlist = new list();
11using (filestream fsreader = new filestream(@"
test.xml
",filemode.open,fileaccess.read))
12
序列化:
1.得到乙個儲存物件的型別
2.建立乙個寫入檔案流
3.定義要序列化的型別
4.呼叫序列化方法
反序列化:
1.定義乙個裝載物件的型別
2.建立乙個讀出檔案流
3.定義要反序列化的型別
4.呼叫反序列化方法
binaryformatter類進行序列化和反序列化,以縮略型二進位制格式寫到乙個檔案中去,速度比較快,而且寫入後的檔案已二進位制儲存有一定的保密效果。標記為nonserialized的其他所有成員都能序列化。
採用xml序列化的方式只能儲存public的字段和可讀寫的屬性,對於private等型別的字段不能進行序列化。
二進位制序列化的優點:
1. 所有的類成員(包括唯讀的)都可以被序列化;
2. 效能非常好。
xml序列化的優點:
1. 互操作性好;
2. 不需要嚴格的二進位制依賴;
3. 可讀性強
soapformatter微軟淘汰了,,不能序列化泛型,這裡就不多講了。
**:
序列化和反序列化 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 ...