国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

網(wǎng)站建設平臺漢龍網(wǎng)頁制作官方網(wǎng)站

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

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

1、是使用BinaryFormatter進行串行化;

2、使用XmlSerializer進行串行化。

????????第一種方式提供了一個簡單的二進制數(shù)據(jù)流以及某些附加的類型信息,而第二種將數(shù)據(jù)流格式化為XML存儲。可以使用[Serializable]屬性將類標志為可序列化的。如果某個類的元素不想被序列化,1、可以使用[NonSerialized]屬性來標志,2、可以使用[XmlIgnore]來標志。

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

????????這里簡單介紹:BinaryFormatter以二進制格式序列化和反序列化對象。

????????BinaryFormatte序列化:將對象轉化成二進制,BinaryFormatte反序列化就是將二進制轉化為對象;

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

????????最常用的兩個方法:

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

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

????????兩個常用的屬性:

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

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

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

?簡單示例:

namespace Model
{[Serializable]public class Config{    [NonSerialized]  // 表示下面這個age字段不進行序列化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);
//對Config類里面參數(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類轉化成自己定義的Console.WriteLine(pp.Name);Console.ReadLine();}[Serializable]private class Person //用Serializable做了標記,標識可以被序列化{private int _age;[NonSerialized] private string _name; //用NonSerialized做了標記,標識該字段屏蔽序列化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[]類型{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類型的{BinaryFormatter bf = new BinaryFormatter();MemoryStream memory = new MemoryStream(bytes);object ss = bf.Deserialize(memory);memory.Close();return ss;}}
}

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

http://aloenet.com.cn/news/46184.html

相關文章:

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