对象序列化与反序列化

1 using System.Runtime.Serialization.Formatters.Binary;
2 using System.IO;
3
4 //序列化是将对象状态转换为可保持或传输的格式的过程。
5 //与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。
6 public class Serialize
7    {
8        #region 二进制序列化
9        public static MemoryStream SerilaizeBinary(Object obj)//对象转内存流
10        {
11            MemoryStream memStream = new MemoryStream();
12            BinaryFormatter serilaze = new BinaryFormatter();
13           serilaze.Serialize(memStream,obj);
14           return memStream;
15        }
16
17        public static byte[] ObjectTobyte(object obj)//对象转字节数组
18        {
19            MemoryStream memStream = SerilaizeBinary(obj);
20            return memStream.ToArray();
21        }
22        #endregion
23
24        #region 二进制反序列化
25        public static object DeserilaizeBinary(MemoryStream memStream)
26        {
27            //内存流转对象
28            memStream.Position = 0;
29            BinaryFormatter Deserilaze = new BinaryFormatter();
30            object obj = Deserilaze.Deserialize(memStream);
31            memStream.Close();
32            return obj;
33        }
34
35        public static object ByteToObject(byte[]buffer)//字节数组转对象
36        {
37            MemoryStream memStream = new MemoryStream(buffer);
38            object obj = DeserilaizeBinary(memStream);
39            memStream.Close();
40            return obj;
41        }
42        #endregion
43    }
posted @   易独  阅读(239)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
乐巴儿 一个有声音的公众号
长按,识别二维码,加关注
点击右上角即可分享
微信分享提示