中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站建設(shè)平臺(tái)漢龍網(wǎng)頁(yè)制作官方網(wǎng)站

網(wǎng)站建設(shè)平臺(tái)漢龍,網(wǎng)頁(yè)制作官方網(wǎng)站,德陽(yáng)做網(wǎng)站,高端房產(chǎn)網(wǎng)站建設(shè).NET框架提供了兩種種串行化的方式: 1、是使用BinaryFormatter進(jìn)行串行化; 2、使用XmlSerializer進(jìn)行串行化。 第一種方式提供了一個(gè)簡(jiǎn)單的二進(jìn)制數(shù)據(jù)流以及某些附加的類(lèi)型信息,而第二種將數(shù)據(jù)流格式化為XML存儲(chǔ)??梢允褂肹Serializable]屬…

.NET框架提供了兩種種串行化的方式:

1、是使用BinaryFormatter進(jìn)行串行化;

2、使用XmlSerializer進(jìn)行串行化。

????????第一種方式提供了一個(gè)簡(jiǎn)單的二進(jìn)制數(shù)據(jù)流以及某些附加的類(lèi)型信息,而第二種將數(shù)據(jù)流格式化為XML存儲(chǔ)??梢允褂肹Serializable]屬性將類(lèi)標(biāo)志為可序列化的。如果某個(gè)類(lèi)的元素不想被序列化,1、可以使用[NonSerialized]屬性來(lái)標(biāo)志,2、可以使用[XmlIgnore]來(lái)標(biāo)志。

????????序列化意思指的是把對(duì)象的當(dāng)前狀態(tài)進(jìn)行持久化,一個(gè)對(duì)象的狀態(tài)在面向?qū)ο蟮某绦蛑惺怯蓪傩员硎镜?#xff0c;所以序列化類(lèi)的時(shí)候是從屬性讀取值以某種格式保存下來(lái),而類(lèi)的成員函數(shù)不會(huì)被序列化,.net存在幾種默認(rèn)提供的序列化,二進(jìn)制序列化,xml和json序列化會(huì)序列化所有的實(shí)例共有屬性。

????????這里簡(jiǎn)單介紹:BinaryFormatter以二進(jìn)制格式序列化和反序列化對(duì)象。

????????BinaryFormatte序列化:將對(duì)象轉(zhuǎn)化成二進(jìn)制,BinaryFormatte反序列化就是將二進(jìn)制轉(zhuǎn)化為對(duì)象;

????????命名空間: System.Runtime.Serialization.Formatters;

????????最常用的兩個(gè)方法:

????????????????Deserialize(Stream) ????將指定的流反序列化成對(duì)象

????????????????Serialize(Stream,?Object) ????將對(duì)象序列化到給定的流

????????兩個(gè)常用的屬性:

????????????????Serializable ????表示可以被序列化

????????????????NonSerializable ????屏蔽被序列化

**************************************************************************************************************

?簡(jiǎn)單示例:

namespace Model
{[Serializable]public class Config{    [NonSerialized]  // 表示下面這個(gè)age字段不進(jìn)行序列化private int age{ get; set; }public string Language { get; set; }public bool IsAutoBackup { get; set; }public int BackupTimeForHour { get; set; }public string LastTimeRestoreDBFile { get; set; }public DateTime? LastAutoBackupDateTime { get; set;}public bool IsSupportHis { get; set; }//序列化 fileName:文件地址public void SaveTo(string fileName){using (MemoryStream ms = new MemoryStream()){BinaryFormatter formatter = new BinaryFormatter();formatter.Serialize(ms, this);File.WriteAllBytes(fileName, ms.ToArray());}}//反序列化public static DSConfig LoadFromFile(string fileName){try{if (!File.Exists(fileName))return null;else{byte[] buff = File.ReadAllBytes(fileName);using (MemoryStream ms = new MemoryStream(buff)){BinaryFormatter formatter = new BinaryFormatter();return (DSConfig)formatter.Deserialize(ms);}}}catch (Exception ex){}return null;}}
}

調(diào)用示例

private const string CONFIGNAME = "b1b4af87-1870-11e9-a31b-8cec4b4fece0.cfg";
public static string ConfigName = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Viewer",CONFIGNAME);
Config config = Config.LoadFromFile(ConfigName);
//對(duì)Config類(lèi)里面參數(shù)賦值后保存
Config.SaveTo(ConfigName);

**************************************************************************************************************?

BinaryFormatte序列化,示例二:

using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace Binaryformats
{internal class Program{private static void Main(string[] args){Person p = new Person();p.Sex = 1;p.Age = 21;p.Name = "dfr";byte[] serBytes = BinaryFormat.Serialize(p); //序列化Person pp = (Person) BinaryFormat.Deserialize(serBytes); //反序列化,object類(lèi)轉(zhuǎn)化成自己定義的Console.WriteLine(pp.Name);Console.ReadLine();}[Serializable]private class Person //用Serializable做了標(biāo)記,標(biāo)識(shí)可以被序列化{private int _age;[NonSerialized] private string _name; //用NonSerialized做了標(biāo)記,標(biāo)識(shí)該字段屏蔽序列化private int _sex;public string Name{get { return _name; }set { _name = value; }}public int Sex{get { return _sex; }set { _sex = value; }}public int Age{get { return _sex; }set { _sex = value; }}}}public class BinaryFormat{public static byte[] Serialize(Object Urobject) //序列化 返回byte[]類(lèi)型{BinaryFormatter bf = new BinaryFormatter();MemoryStream memory = new MemoryStream();//使用using 可以避免忘記釋放bf.Serialize(memory, Urobject);byte[] bytes = memory.GetBuffer();memory.Close();return bytes;//或者采用方法:using (MemoryStream ms = new MemoryStream(buff)){}}public static object Deserialize(byte[] bytes) //反序列化,返回object類(lèi)型的{BinaryFormatter bf = new BinaryFormatter();MemoryStream memory = new MemoryStream(bytes);object ss = bf.Deserialize(memory);memory.Close();return ss;}}
}

**************************************************************************************************************

http://www.risenshineclean.com/news/46184.html

相關(guān)文章:

  • 自己做的個(gè)人網(wǎng)站無(wú)法備案廣東東莞今日最新消息
  • 新手學(xué)做網(wǎng)站必備軟件seo技術(shù)培訓(xùn)課程
  • 網(wǎng)站支付功能怎么做全自動(dòng)推廣引流軟件免費(fèi)
  • 日本做暖網(wǎng)站推廣網(wǎng)站要注意什么
  • 寧德住房和城鄉(xiāng)建設(shè)部網(wǎng)站怎樣做網(wǎng)絡(luò)推廣營(yíng)銷(xiāo)
  • 新網(wǎng)站怎么做權(quán)重國(guó)際新聞軍事最新消息
  • 廣東網(wǎng)站制作百度客服人工電話24小時(shí)
  • 拼多多網(wǎng)站分析百度網(wǎng)站登錄
  • 做類(lèi)似交易貓的網(wǎng)站如何優(yōu)化網(wǎng)頁(yè)
  • 六安網(wǎng)站建設(shè)哪家靠譜線下推廣宣傳方式有哪些
  • 網(wǎng)站眾籌該怎么做公眾號(hào)軟文是什么意思
  • 忍不住在樓道里面做免費(fèi)網(wǎng)站千萬(wàn)不要學(xué)網(wǎng)絡(luò)營(yíng)銷(xiāo)
  • 網(wǎng)站下方一般放什么原因宣傳推廣策略
  • 計(jì)算機(jī)專(zhuān)業(yè)里面哪個(gè)專(zhuān)業(yè)最好攀枝花seo
  • 營(yíng)銷(xiāo)型網(wǎng)站一套東莞seo網(wǎng)站優(yōu)化排名
  • 哈爾濱住房和城鄉(xiāng)建設(shè)廳網(wǎng)站品牌推廣方案怎么寫(xiě)
  • 鐵道部網(wǎng)上訂票網(wǎng)站素材網(wǎng)站分析案例
  • 家居飾品網(wǎng)站建設(shè)論文怎么在百度上推廣自己的產(chǎn)品
  • 動(dòng)態(tài)網(wǎng)站與靜態(tài)網(wǎng)站的區(qū)別北京百度seo服務(wù)
  • 020模版網(wǎng)站制作網(wǎng)絡(luò)營(yíng)銷(xiāo)的推廣方式
  • 51自學(xué)網(wǎng)官方網(wǎng)站百度廣告電話號(hào)碼
  • 各大網(wǎng)站做推廣的廣告怎么做做引流的公司是正規(guī)的嗎
  • 肇慶網(wǎng)站建設(shè)公司凡科小程序
  • 網(wǎng)站設(shè)計(jì)開(kāi)發(fā)人員國(guó)家高新技術(shù)企業(yè)名單
  • 電影網(wǎng)站建設(shè)多少錢(qián)百度網(wǎng)站入口
  • 做網(wǎng)站排名費(fèi)用多少百度風(fēng)云榜明星
  • 手機(jī)網(wǎng)站有什么區(qū)別嗎廣告推廣平臺(tái)代理
  • 做公司網(wǎng)站的目的是什么網(wǎng)絡(luò)推廣運(yùn)營(yíng)是做什么
  • 渭南公司做網(wǎng)站蘇州seo關(guān)鍵詞優(yōu)化價(jià)格
  • 做高端網(wǎng)站的網(wǎng)絡(luò)公司谷歌排名優(yōu)化入門(mén)教程