序列化例子

2022-08-31 02:36:12 字數 1786 閱讀 1088

c#中的"序列化" serializable 理解

我的理解:      比如用乙個類描述一張合同,而這個類例項化後其中的字段儲存著合同的資訊,如果現在要把這個類的例項傳送到另一台機器、另乙個窗體或是想儲存這個類以便以 後再取出來用(持久化物件),可以對這個類進行序列化(序列化實際上是乙個資訊流),傳送或儲存,用的時候再反序列化重新生成這個物件

為什麼您想要使用序列化?有兩個最重要的原因促使對序列化的使用:乙個原因是將物件的狀態保持在儲存**中,以便可以在以後重新建立精確的副本;另 乙個原因是通過值將物件從乙個應用程式域傳送到另乙個應用程式域中。例如,序列化可用於在    asp.net    中儲存會話狀態並將物件複製到    windows    窗體的剪貼簿中。遠端處理還可以使用序列化通過值將物件從乙個應用程式域傳遞到另乙個應用程式域中。          序列化的是物件的狀態      也就是物件資料成員的值和方法是沒有關係的

跨應用程式域通訊時,要用到序列化      以及用web服務時 一:binaryformatter序列化

序列化簡單點來理解就是把記憶體的東西寫到硬碟中,當然也可以寫到記憶體中(這個內容我會在後面寫乙個例子).而反序列化就是從硬碟中把資訊讀到記憶體中.就這麼簡單,呵呵,現在來看下面的例子吧!

定義類book:

[ref="tag-863-1.html">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", numbertype="1" tcsc="0">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)) }

有不對的地方,請大家多多糾正.....

注意一定不要忘了: using   system.runtime.serialization.formatters.binary;       命名空間。

C 序列化例子

serializable public class solidbutton button,iserializable public solidbutton public void getobjectdata serializationinfo info,streamingcontext ctxt 把...

序列化(序列化)

原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...

序列化(模型序列化 序列化巢狀)

from rest framework import serializers from meituan.models import merchant,class merchantserializer serializers.modelserializer class meta model merch...