序列化二进制方法的实现
序列化方法:
public static byte[] SerializerToByte(object value) { try { byte[] buffer = null; //将对象序列化成二进制信息 using (MemoryStream stream = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, value); buffer = stream.ToArray(); } return buffer; } catch (Exception ex) { throw ex; } }
需要注意的是,使用这个方法转换成二进信息的话,必须要对这个类型先进行序列化,不然会报错,反序列化也是如此
反序列化:
public static object DeserializeToObject(byte[] buffer) { try { object value = null; if (buffer != null && buffer.Length > 0) { //将二进制信息反序列化成对象 using (Stream ss = new MemoryStream(buffer)) { BinaryFormatter formatter = new BinaryFormatter(); value = formatter.Deserialize(ss); } } return value; } catch (Exception ex) { throw ex; } }
调用:
//反序列化 DeserializeToObject(Convert.FromBase64String(类型)) //序列化 Convert.ToBase64String(SerializerToByte(类型))
适用于简单的类型一般都可以实现,只需要记得加入 [Serializable]并且实现序列化的方法即可
积累小的知识,才能成就大的智慧,希望网上少一些复制多一些原创有用的答案