很神奇的一个类,不用序列化到文件中,只序列化到字符串里,然后再反序列出来 ,刚从网上找到,分享一下
public class SerializeUtilities
{
public SerializeUtilities()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 序列化 对象到字符串
/// </summary>
/// <param name="obj">泛型对象</param>
/// <returns>序列化后的字符串</returns>
public static string Serialize<T>(T obj)
{
try
{
IFormatter formatter = new BinaryFormatter();
MemoryStream stream = new MemoryStream();
formatter.Serialize(stream, obj);
stream.Position = 0;
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
stream.Flush();
stream.Close();
return Convert.ToBase64String(buffer);
}
catch (Exception ex)
{
throw new Exception("序列化失败,原因:" + ex.Message);
}
}
public static T Desrialize<T>(T obj, string str)
{
try
{
obj = default(T);
IFormatter formatter = new BinaryFormatter();
byte[] buffer = Convert.FromBase64String(str);
MemoryStream stream = new MemoryStream(buffer);
obj = (T)formatter.Deserialize(stream);
stream.Flush();
stream.Close();
}
catch (Exception ex)
{
throw new Exception("反序列化失败,原因:" + ex.Message);
}
return obj;
}
}
相关推荐
综上所述,"C#序列化和反序列化"这个主题涵盖了如何在C#程序中有效地管理和操作数据的各个方面。通过深入理解这些概念和实践,开发者可以更好地处理数据的保存和传输,提升应用程序的性能和功能。
在这个“C#序列化和反序列化案例”中,我们可以通过提供的代码示例深入理解这两个概念。 首先,序列化是将对象的状态转换为可以存储或传输的数据格式的过程。在C#中,我们可以使用内置的System.Runtime....
- **序列化与反序列化的工具**:C#提供了几种不同的序列化机制,如BinaryFormatter、SoapFormatter和XML序列化等。 #### 四、示例:使用BinaryFormatter进行序列化 在给定的部分内容中,我们看到了如何使用...
在编程领域,序列化和反序列化是两个关键的概念,特别是在C#中。它们用于将对象的状态转换为可存储或可传输的数据格式,以及将这种数据还原为原来的对象。序列化通常用于持久化数据,跨进程通信,网络传输或者保存...
在编程领域,序列化和反序列化是两个关键的概念,特别是在数据存储、网络传输和对象持久化等场景中。它们允许我们将对象的状态转换为字节流(序列化),然后在需要的时候将字节流还原为原来的对象(反序列化)。在C#...
在C#编程中,序列化和反序列化是至关重要的技术,它们允许我们将对象的状态转换为数据流(如字节序列),以便存储或传输,之后再恢复为原来的对象形式。本资源聚焦于C#中的二进制序列化,这是一种效率高、数据紧凑的...
在.NET框架中,C#提供了一系列的类库用于处理序列化和反序列化,这使得对象的状态能够被转换为数据格式(如XML),以便存储或传输。本篇将深入探讨如何使用C#进行XML序列化和反序列化,并且特别关注如何读取Word文档...
在C#编程中,序列化和反序列化是两个关键的概念,它们主要用于对象状态的持久化和恢复。本文将深入探讨C#中的XML序列化和反序列化技术,包括如何将XML文档解析为对象,以及如何将对象转换回XML文档进行存储。我们将...
这是一个用C#写的Socket服务器和客户端,当然Socket服务器和客户端不是主要的(有兴趣的朋友可以参考下),主要的内容是介绍如何通过这种Socket方式发送Object对象。 作者博客 http://luyugao.com
本篇文章将详细讲解如何利用C#的`XmlSerializer`类来实现XML的序列化和反序列化,以及如何处理多级节点和属性。 **XML序列化** XML序列化是将C#对象转换为XML文档的过程。这允许我们把对象的状态保存到文件或通过...
在我们深入探讨C#序列化和反序列化之前我们先要明白什么是序列化,它又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的...
之前自己开发了一个类似于QQ的程序,服务端和客户端之间以 NetWorkStream 来发送数据,但数据这边整个类对象要发送怎么发送呢 ...我觉得 这三套代码 可以解决一切序列化和反序列化问题了!! 都测试过了,都可以!!!
在编程世界中,序列化和反序列化是两个至关重要的概念,尤其是在C#这样的面向对象的语言中。它们允许我们将对象的状态转换为数据流,以便存储或传输,然后将这些数据流还原为原来的对象形式。本篇文章将深入探讨C#中...