什麼是序列化(c#)
一:binaryformatter序列化
序列化簡單點來理解就是把記憶體的東西寫到硬碟中
,當然也可以寫到記憶體中
(這個內容我會在後面寫乙個例子
).而反序列化就是從硬碟中把資訊讀到記憶體中
.就這麼簡單,呵呵
,現在來看下面的例子吧
! 在這篇文章中我將使用
binaryformatter
序列化類
book
作為例子
,希望大家能從例子中深刻體會什麼是序列化
. 定義類
book:
[serializable]
public class book
} 在類的上面增加了屬性
:serializable.(
如果不加這個屬性
,將丟擲
serializationexception
異常).
通過這個屬性將
book
標誌為可以序列化的
.當然也有另一種方式使類
book
可以序列化
,那就是實行
iserializable
介面了.
在這裡大家要注意了
:serializable
屬性是不能被繼承的咯
!!! 如果你不想序列化某個變數
,該怎麼處理呢
?很簡單
,在其前面加上屬性
[nonserialized] .
比如我不想序列化
string author;
那我只需要
[nonserialized]
string author;
好了,現在就告訴大家怎麼實現序列化
: 我們使用
namespace:
using system;
using system.io;
using system.runtime.serialization.formatters.binary;
首先建立
book
例項,like this:
book book = new book("day and night",
30.0f, "bruce");
接著當然要建立乙個檔案了
,這個檔案就是用來存放我們要序列化的資訊了
. filestream fs = new filestream(@"c:\book.dat", filemode.create);
序列化的實現也很簡單
,like this:
binaryformatter formatter = new binaryformatter();
formatter.serialize(fs, book);
很簡單吧
!現在我列出整個原**
,包括反序列化
. static void
main(string args)
book = null;
using(filestream fs = new filestream(@"c:\book.dat", filemode.open))
什麼是序列化
序列化就是將物件的狀態資訊轉換為可以儲存或傳輸的object的過程。在序列化期間,物件將其當前狀態寫入到臨時或永續性儲存區。以後,可以通過從儲存區中讀取或反序列化物件的狀態,重新建立該物件。序列化是將物件狀態轉換為可保持或傳輸的格式的過程。與序列化相對的是反序列化,它將流轉換為物件。這兩個過程結合起...
什麼是序列化?
形象的說,序列化就是 1 將乙個物件儲存到到儲存介質上或者 2 將物件進行轉換使其能夠在網路上傳輸的行為。能對乙個類進行序列化的條件是 該類的任何基類都可以序列化 該類應用了serializable特性。序列化常用的兩個應用如下 1.儲存和引導程式的配置 我們在程式中可以建立乙個類,它包含了應用程式...
什麼是序列化和反序列化 什麼是序列化和並行化
當兩個程序在進行遠端通訊時,彼此可以傳送各種型別的資料。無論是何種型別的資料,都會以二進位制序列的形式在網路上傳送。傳送方需要把這個物件轉換為位元組序列,才能在網路上傳送 接收方則需要把位元組序列再恢復為物件。把物件轉換為位元組序列的過程稱為物件的序列化。把位元組序列恢復為物件的過程稱為物件的反序列...