日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
解析C#BinaryFormatter實現(xiàn)序列化

C# BinaryFormatter實現(xiàn)序列化,我們知道在.NET框架里提供了C# BinaryFormatter,那么他是如何實現(xiàn)序列化操作的呢,首先我們來看看C# BinaryFormatter的概念以及作用。

專注于為中小企業(yè)提供網(wǎng)站建設、成都網(wǎng)站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)康平免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。

C# BinaryFormatter的介紹:

BinaryFormatter使用二進制格式化程序進行序列化。您只需創(chuàng)建一個要使用的流和格式化程序的實例,然后調用格式化程序的 Serialize 方法。流和要序列化的對象實例作為參數(shù)提供給此調用。類中的所有成員變量(甚至標記為 private 的變量)都將被序列化。

C# BinaryFormatter使用實例:

首先我們創(chuàng)建一個類:

 
 
 
  1. [Serializable]
  2. public class MyObject {
  3.  public int n1 = 0;
  4.  public int n2 = 0;
  5.  public String str = null;
  6. }

Serializable屬性用來明確表示該類可以被序列化。同樣的,我們可以用NonSerializable屬性用來明確表示類不能被序列化。接著我們創(chuàng)建一個該類的實例,然后序列化,并存到文件里持久:

 
 
 
  1. MyObject obj = new MyObject();
  2. obj.n1 = 1;
  3. obj.n2 = 24;
  4. obj.str = "一些字符串";
 
 
 
  1. IFormatter formatter = new BinaryFormatter();
  2. Stream stream = new FileStream(
  3. "MyFile.bin", FileMode.Create, 
  4. FileAccess.Write, FileShare.None);
  5. formatter.Serialize(stream, obj);
  6. stream.Close();

而將對象還原到它以前的狀態(tài)也非常容易。首先,創(chuàng)建格式化程序和流以進行讀取,然后讓格式化程序對對象進行反序列化。

 
 
 
  1. IFormatter formatter = new BinaryFormatter();
  2. Stream stream = new FileStream(
  3. "MyFile.bin", FileMode.Open, 
  4. FileAccess.Read, FileShare.Read);
  5. MyObject obj =
  6.  (MyObject) formatter.Deserialize(fromStream);
  7. stream.Close();
  8. // 下面是證明
  9. Console.WriteLine("n1: {0}", obj.n1);
  10. Console.WriteLine("n2: {0}", obj.n2);
  11. Console.WriteLine("str: {0}", obj.str);

C# BinaryFormatter實現(xiàn)序列化的詳細內容就向你介紹到這里,希望對你了解和學習C# BinaryFormatter類有所幫助。


文章題目:解析C#BinaryFormatter實現(xiàn)序列化
當前URL:http://www.5511xx.com/article/cdhiscs.html