F/Other/Serialization.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Runtime.Serialization;
using System.Data;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO.Compression;
using System.Linq;
namespace F.Other
{
/// <summary>
/// 序列化压缩/反序列化解压 类,数据量庞大的时候用
/// </summary>
public class Serialization
{
/// <summary>
/// 序列化,并压缩(5000以上的长度压缩才有效果)/不压缩
/// </summary>
/// <param name="data">需要序列化的object</param>
/// <param name="i">是否压缩(5000以上的长度压缩才有效果)</param>
/// <returns></returns>
public static string Set(object data, bool i)
{
//创建内存流
MemoryStream memStream = new MemoryStream();
//产生二进制序列化格式
IFormatter formatter = new BinaryFormatter();
//指定DataSet串行化格式是二进制
//ds.RemotingFormat = SerializationFormat.Binary;
//串行化到内存中
formatter.Serialize(memStream, data);
//将DataSet转化成byte[]
byte[] binaryResult = memStream.ToArray();
//清空和释放内存流
memStream.Close();
memStream.Dispose();
if (i)
{
return Str(Compress(binaryResult));
}
return Str(binaryResult);
//return (binaryResult);
}
/// <summary>
/// 反序列化,并解压/不解压
/// </summary>
/// <param name="Data">需要反序列化的byte[]</param>
/// <param name="i">是否解压</param>
/// <returns></returns>
public static object Get(string Data, bool i)
{
byte[] BData = null;
if (i)
{
BData = Decompress(Byte(Data));
}
后面还有 99 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
