中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

怎么使用c#進行數據序列化

c#
小億
94
2024-01-31 09:47:44
欄目: 編程語言

在C#中進行數據序列化有多種方法,其中最常用的是使用BinaryFormatterXmlSerializerDataContractSerializer。下面分別介紹這三種方法的使用方式:

  1. 使用BinaryFormatter進行數據序列化與反序列化:
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable]
public class MyClass
{
    public int Number { get; set; }
    public string Text { get; set; }
}

public static void Main()
{
    MyClass obj = new MyClass() { Number = 1, Text = "Hello, World!" };

    // 序列化
    BinaryFormatter formatter = new BinaryFormatter();
    using (FileStream fileStream = new FileStream("data.bin", FileMode.Create))
    {
        formatter.Serialize(fileStream, obj);
    }

    // 反序列化
    using (FileStream fileStream = new FileStream("data.bin", FileMode.Open))
    {
        MyClass deserializedObj = (MyClass)formatter.Deserialize(fileStream);
        Console.WriteLine($"Number: {deserializedObj.Number}, Text: {deserializedObj.Text}");
    }
}
  1. 使用XmlSerializer進行數據序列化與反序列化:
using System;
using System.IO;
using System.Xml.Serialization;

[Serializable]
public class MyClass
{
    public int Number { get; set; }
    public string Text { get; set; }
}

public static void Main()
{
    MyClass obj = new MyClass() { Number = 1, Text = "Hello, World!" };

    // 序列化
    XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
    using (FileStream fileStream = new FileStream("data.xml", FileMode.Create))
    {
        serializer.Serialize(fileStream, obj);
    }

    // 反序列化
    using (FileStream fileStream = new FileStream("data.xml", FileMode.Open))
    {
        MyClass deserializedObj = (MyClass)serializer.Deserialize(fileStream);
        Console.WriteLine($"Number: {deserializedObj.Number}, Text: {deserializedObj.Text}");
    }
}
  1. 使用DataContractSerializer進行數據序列化與反序列化:
using System;
using System.IO;
using System.Runtime.Serialization;

[DataContract]
public class MyClass
{
    [DataMember]
    public int Number { get; set; }

    [DataMember]
    public string Text { get; set; }
}

public static void Main()
{
    MyClass obj = new MyClass() { Number = 1, Text = "Hello, World!" };

    // 序列化
    DataContractSerializer serializer = new DataContractSerializer(typeof(MyClass));
    using (FileStream fileStream = new FileStream("data.xml", FileMode.Create))
    {
        serializer.WriteObject(fileStream, obj);
    }

    // 反序列化
    using (FileStream fileStream = new FileStream("data.xml", FileMode.Open))
    {
        MyClass deserializedObj = (MyClass)serializer.ReadObject(fileStream);
        Console.WriteLine($"Number: {deserializedObj.Number}, Text: {deserializedObj.Text}");
    }
}

以上是三種常用的C#數據序列化方法,根據實際需求選擇合適的方法即可。

0
洪江市| 铁力市| 泗洪县| 冕宁县| 宁夏| 普兰县| 那曲县| 综艺| 新安县| 绥芬河市| 景东| 涟水县| 澄江县| 阿鲁科尔沁旗| 博客| 盐边县| 镇赉县| 嘉义市| 绵阳市| 丹凤县| 定州市| 前郭尔| 仙居县| 尤溪县| 昆明市| 易门县| 廊坊市| 孝感市| 玉门市| 陆丰市| 上饶县| 宁波市| 宁武县| 什邡市| 京山县| 鄂托克前旗| 满洲里市| 沙湾县| 微山县| 沙河市| 灌阳县|