对象序列化与反序列化
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 }
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 }
联盟快卖 商人,生意人,待创业人士在此可以共赢互利 期待你的加入 群号:140809277
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗