C 什麼是序列化

2021-09-12 20:20:52 字數 1594 閱讀 7866

什麼是序列化(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.儲存和引導程式的配置 我們在程式中可以建立乙個類,它包含了應用程式...

什麼是序列化和反序列化 什麼是序列化和並行化

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