国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net 序列化and反序列化演示

2024-07-10 13:21:24
字體:
供稿:網(wǎng)友
什么是序列化?
---.net的運行時環(huán)境用來支持用戶定義類型的流化的機制。它是將對象實例的狀態(tài)存儲到存儲媒體的過程。在此過程中,先將對象的公共字段和私有字段以及類的名稱(包括類所在的程序集)轉(zhuǎn)換為字節(jié)流,然后再把字節(jié)流寫入數(shù)據(jù)流。在隨后對對象進行反序列化時,將創(chuàng)建出與原對象完全相同的副本。
序列化的目的:
1、以某種存儲形式使自定義對象持久化;
2、將對象從一個地方傳遞到另一個地方。
實質(zhì)上序列化機制是將類的值轉(zhuǎn)化為一個一般的(即連續(xù)的)字節(jié)流,然后就可以將該流寫到磁盤文件或任何其他流化目標上。而要想實際的寫出這個流,就要使用那些實現(xiàn)了IFormatter接口的類里的Serialize和Deserialize方法。
private bool SerializeStudent(object obj)
{
FileDialog fd = new SaveFileDialog();
if (fd.ShowDialog() == DialogResult.OK | fd.FileName != null)
{
FileStream fs = new FileStream(fd.FileName, FileMode.Create, FileAccess.Write);
System.Xml.Serialization.XmlSerializer xmlSer = new System.Xml.Serialization.XmlSerializer(obj.GetType());
xmlSer.Serialize(fs, obj);
fs.Close();
return true;
}
else
{
return false;
}
}
private object DeSerializeStudent(object obj)
{
FileDialog fd = new OpenFileDialog();
object objStd;
if (fd.FileName != null | fd.ShowDialog() == DialogResult.OK)
{
FileStream fs = new FileStream(fd.FileName, FileMode.Open, FileAccess.Read, FileShare.Read);
System.Xml.Serialization.XmlSerializer xmlSer = new System.Xml.Serialization.XmlSerializer(obj.GetType());
objStd = xmlSer.Deserialize(fs);
fs.Close();
return objStd;
}
else
{
return null;
}

}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 柳林县| 襄城县| 新闻| 黎川县| 六枝特区| 雷州市| 文登市| 龙山县| 咸宁市| 汽车| 金湖县| 社旗县| 平原县| 垫江县| 黔江区| 石首市| 明星| 绩溪县| 玉田县| 四会市| 鸡泽县| 曲沃县| 邯郸县| 万荣县| 思南县| 长春市| 于都县| 岳池县| 凯里市| 西充县| 龙山县| 浙江省| 视频| 慈利县| 富锦市| 黄陵县| 冷水江市| 霍林郭勒市| 易门县| 湟源县| 滦平县|