日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c# 简单序列化

發布時間:2023/12/13 C# 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c# 简单序列化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

序列化:是將對象狀態轉換為可保持或傳輸的格式的過程,原因有兩個,第一是想永久的保存這些數據,以便將來可以重建這些數據。第二是想把數據從一個應用程序域發送到另外一個應用程序域中去。
反序列化:就是把存儲介質中的數據重新構建為對象的一個過程。

?

首先創建一個類MyObject,如以下代碼

MyObjectusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SerializeTest
{
??? [Serializable]
??? public class MyObject
??? {
??????? public int n1 = 0;
??????? public int n2 = 0;
??????? public string str = null;
??? }
}

再創建一個類用來寫序列化和反序列化方法以下代碼包含2種方式二進制和xml方式。

SerializableCodeusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;//用二進制方式進行序列化要導入的命名空間
using System.Xml.Serialization; //用xml方式進行序列化要導入的命名空間
namespace SerializeTest
{
??? public class Serializable
??? {
??????? public void SeriaByBinary()
??????? {
??????????? MyObject obj = new MyObject();
??????????? obj.n1 = 1;
??????????? obj.n2 = 24;
??????????? obj.str = "binary is good";
??????????? IFormatter formatter = new BinaryFormatter();
??????????? Stream stream=new FileStream("c:\\Myfile.bin",FileMode.Create,FileAccess.Write,FileShare.None);
??????????? formatter.Serialize(stream,obj);
??????????? stream.Close();
??????? }
??????? public MyObject DSeriaByBinary()
??????? {
??????????? IFormatter formatter = new BinaryFormatter();
??????????? Stream stream = new FileStream("c:\\Myfile.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
??????????? MyObject obj=(MyObject)formatter.Deserialize(stream);
??????????? stream.Close();
??????????? return obj;
??????? }
??????? public void SeriaByXml()
??????? {
??????????? MyObject obj = new MyObject();
??????????? obj.n1 = 1111;
??????????? obj.n2 = 2222;
??????????? obj.str = "xml is great";
??????????? XmlSerializer xmls = new XmlSerializer(typeof(MyObject));
??????????? StreamWriter sw = new StreamWriter("c:\\myobject.xml");
??????????? xmls.Serialize(sw,obj);
??????????? sw.Close();
??????? }
??????? public MyObject DSeriaByXml()
??????? {
??????????? XmlSerializer xmls = new XmlSerializer(typeof(MyObject));
??????????? FileStream fs = new FileStream("c:\\myobject.xml",FileMode.Open);
??????????? MyObject obj=(MyObject)xmls.Deserialize(fs);
??????????? fs.Close();
??????????? return obj;
??????? }
??? }

}

最后創建TEST 窗體事件

?

哈哈 ,ok 了 試試做一下吧。

?

轉載于:https://www.cnblogs.com/xiaogelove/archive/2010/04/21/1717451.html

總結

以上是生活随笔為你收集整理的c# 简单序列化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。