//序列化
byte[] ResultData = null;
DataSet ds = new DataSet();
ds.RemotingFormat = SerializationFormat.Binary;
MemoryStream ms = new MemoryStream();
IFormatter fm = new BinaryFormatter();
fm.Serialize(ms, ds);
ResultData = ms.ToArray();
ms.Close();
//反序列化
byte[] rResultData = null;
MemoryStream rms = new MemoryStream(rResultData);
IFormatter rbf = new BinaryFormatter();
object robj = rbf.Deserialize(rms);
DataSet rResultData = (DataSet)obj;
rms.Close();
return rResultData;
二。序列化二进制基础上序列化为字符串
/// <summary>
/// Serialize
/// </summary>
/// <param name="FormatObject"></param>
/// <returns></returns>
public String FormatString(object FormatObject)
{
MemoryStream stream = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, FormatObject);
return Convert.ToBase64String(stream.ToArray());
}
/// <summary>
/// Deserialize
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public Object FormatString(string str)
{
BinaryFormatter formatter = new BinaryFormatter();
MemoryStream stream = new MemoryStream(Convert.FromBase64String(str));
return formatter.Deserialize(stream);
}