四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

C#序列化與反序列化(Serializable and Deserialize)

     序列化是指將對(duì)象實(shí)例的狀態(tài)存儲(chǔ)存儲(chǔ)媒體的過程。在此過程中,先將對(duì)象的公共字段和私有字段以及類的名稱(包括類所在的程序集)轉(zhuǎn)換為字節(jié)流,然后再把字節(jié)流寫入數(shù)據(jù)流。在隨后對(duì)對(duì)象進(jìn)行反序列化時(shí),將創(chuàng)建出與原對(duì)象完全相同的副本。

     我們經(jīng)常需要將對(duì)象的字段值保存到磁盤中,并在以后檢索此數(shù)據(jù)。盡管不使用序列化也能完成這項(xiàng)工作,但這種方法通常很繁瑣而且容易出錯(cuò),并且在需要跟蹤對(duì)象的層次結(jié)構(gòu)時(shí),會(huì)變得越來越復(fù)雜。可以想象一下編寫包含大量對(duì)象的大型業(yè)務(wù)應(yīng)用程序的情形,程序員不得不為每一個(gè)對(duì)象編寫代碼,以便將字段和屬性保存至磁盤以及從磁盤還原這些字段和屬性。序列化提供了輕松實(shí)現(xiàn)這個(gè)目標(biāo)的快捷方法。

     .NET公共語(yǔ)言運(yùn)行時(shí) (CLR) 管理對(duì)象在內(nèi)存中的分布,.NET 框架則通過使用反射提供自動(dòng)的序列化機(jī)制。對(duì)象序列化后,類的名稱、程序集以及類實(shí)例的所有數(shù)據(jù)成員均被寫入存儲(chǔ)媒體中。對(duì)象通常用成員變量來存儲(chǔ)對(duì)其他實(shí)例的引用。類序列化后,序列化引擎將跟蹤所有已序列化的引用對(duì)象,以確保同一對(duì)象不被序列化多次。.NET 框架所提供的序列化體系結(jié)構(gòu)可以自動(dòng)正確處理對(duì)象圖表和循環(huán)引用。對(duì)對(duì)象圖表的唯一要求是,由正在進(jìn)行序列化的對(duì)象所引用的所有對(duì)象都必須標(biāo)記為 Serializable(請(qǐng)參閱基本序列化)。否則,當(dāng)序列化程序試圖序列化未標(biāo)記的對(duì)象時(shí)將會(huì)出現(xiàn)異常。

當(dāng)反序列化已序列化的類時(shí),將重新創(chuàng)建該類,并自動(dòng)還原所有數(shù)據(jù)成員的值。

     在C#中常見的序列化的方法主要也有三個(gè):BinaryFormatter、SoapFormatter、XML序列化。本文就通過一個(gè)小例子主要說說這三種方法的具體使用和異同點(diǎn)。

新建一個(gè)vs2008控制臺(tái)工程SerializableTest,添加一個(gè)Person類,加上[Serializable]使其可以被序列化

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace SerializableTest{    [Serializable]    public class Person    {        public string Sno { get; set; }        public string Name { get; set; }        public string Sex { get; set; }        public int Age { get; set; }        public string DisplayInfo()        {            return "我的學(xué)號(hào)是:" +Sno+ "/n我的名字是:"+Name + "/n我的性別為:"+Sex+"/n我的年齡:"+Age+"/n";        }    }}

NET技術(shù)C#序列化與反序列化(Serializable and Deserialize),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 埃尔加,她狼| 第一序列第二季上映了吗| 长谷川清| 佳片有约| hunger game| 张耀扬实际身高| av电影网| 真爱电影| 李赫洙| 182tv在线视频| 夏和平| 手机图片jpg格式转换器免费| 冰封侠| cctv16直播| 陕09j01图集| 狐仙 电影| 蜡笔小新日语| 电视剧《流金岁月》演员表| a friend in need中文翻译| 爱奴 电影| 马维| 北京卫视今天节目预告| 金沙滩秦腔剧情介绍| 电影《白月光》在线观看免费| 男人伤感失落孤独头像| 蓝色男孩| 太医派的开胃汤配方| 大石桥联盟| 处女巫| 《无所畏惧》| 妻子的秘密日本电影| 奇骏车友会| 日本xxww| 部队飞行安全大讨论心得体会| 91天堂| run on| 鬼迷心窍 歌词| 后位子宫怎么样容易怀孕| 我想成为影之强者| 金沙滩秦腔剧情介绍| 亚洲电影在线观看|