天天看點

序列化和反序列化

一、概述

何為序列化和反序列化?

我們再傳遞資料的和儲存資料時,我們可以用一個變量記錄,但是如果是一個對象改怎麼辦呢,這是就得用序列化和反序列化。

在計算機中,資料的存放都是二進制。我們傳遞資料也是傳遞二進制,根據這個不變性,我們把需要傳遞的變量序列化成一個二進制的資料儲存并傳遞,再通過反序列化,就能夠得到原來的對象。

下面是一個實作序列化和反序列化的例子,我們通過特殊屬性定義了一個  [serializable]class myobject,在myobject中又有一個  [noserializable]的變量age

通過變量傳遞後,我們發現,age的值是預設值0,而不是23.

這說明,隻有實作了序列化的變量/值,才能被傳遞,其他的不能。

  二、詳細

     實作序列化的方法有哪些呢?

在.net中是先序列化的方法有:binaryformatter,soapformatter,xmlserilizer