c#序列化和反序列化怎么实现

   2024-10-02 6740
核心提示:在C#中,可以使用System.Runtime.Serialization命名空间中的类来实现对象的序列化和反序列化。具体步骤如下:定义一个需要序列化

在C#中,可以使用System.Runtime.Serialization命名空间中的类来实现对象的序列化和反序列化。具体步骤如下:

定义一个需要序列化的类,并为其添加[Serializable]属性,表示该类可以被序列化。
[Serializable]public class MyClass{    public int Id { get; set; }    public string Name { get; set; }}
创建一个BinaryFormatter对象,用于序列化和反序列化对象。
using System.Runtime.Serialization.Formatters.Binary;BinaryFormatter formatter = new BinaryFormatter();
序列化对象:
MyClass obj = new MyClass { Id = 1, Name = "John" };using (FileStream fileStream = new FileStream("data.dat", FileMode.Create)){    formatter.Serialize(fileStream, obj);}
反序列化对象:
MyClass newObj;using (FileStream fileStream = new FileStream("data.dat", FileMode.Open)){    newObj = (MyClass)formatter.Deserialize(fileStream);}Console.WriteLine($"Id: {newObj.Id}, Name: {newObj.Name}");

上述代码演示了如何将MyClass对象序列化到文件中,然后再从文件中反序列化得到新的对象。你也可以使用其他格式如XML或JSON来序列化对象,只需要相应地更换Formatter类型即可。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号