如何使用序列化技术将对象转化成二进制数组,再将数组转换成二进制对象?我是这样做的,前面的名空间定义省了
'二进制数组转化成对象
Public Shared Function BinToMsg(ByVal Bin() As Byte) As CMessage
Dim Formatter As New BinaryFormatter '定义序列化对象
Dim StreamTemp As New MemoryStream(Bin) '数组->内存流
Dim Message As CMessage = CType(Formatter.Deserialize(StreamTemp), CMessage) '内存流->对象
StreamTemp.Close()
Return Message
End Function '命令转化成二进制数组
Public Shared Function MsgToBin(ByVal Message As CMessage) As Byte()
Dim StreamTemp As New MemoryStream '定义流对象
Dim Formatter As New BinaryFormatter '定义序列化对象
Formatter.Serialize(StreamTemp, Message) '对象->内存流
StreamTemp.Close()
Return StreamTemp.GetBuffer() '内存流->数组
End Function
不知各位高手有没有代码更短,效率更高的解?
'二进制数组转化成对象
Public Shared Function BinToMsg(ByVal Bin() As Byte) As CMessage
Dim Formatter As New BinaryFormatter '定义序列化对象
Dim StreamTemp As New MemoryStream(Bin) '数组->内存流
Dim Message As CMessage = CType(Formatter.Deserialize(StreamTemp), CMessage) '内存流->对象
StreamTemp.Close()
Return Message
End Function '命令转化成二进制数组
Public Shared Function MsgToBin(ByVal Message As CMessage) As Byte()
Dim StreamTemp As New MemoryStream '定义流对象
Dim Formatter As New BinaryFormatter '定义序列化对象
Formatter.Serialize(StreamTemp, Message) '对象->内存流
StreamTemp.Close()
Return StreamTemp.GetBuffer() '内存流->数组
End Function
不知各位高手有没有代码更短,效率更高的解?
解决方案 »
- vs2008中用c#制作了带SQL2005数据库的单机程序,怎么生成安装包,在别的没有安装sql的机器上运行
- fixed (void** ppInputBlock = &pTwinCatInputs)中写法在c#里啥用?
- DataGridViewComboBoxColumn怎么结束编辑
- c#怎样在运行时获取方法调用堆栈信息
- .net 跨域名上传问题。
- 如何控制contextMenuStrip显示位置?
- 怎么产生一个从0到77的随机数
- 别人的一个C#的群,号码:2986053,要加的赶快!
- c# 有关文本,图片,文件(txt,office文档)等在sqlserver的存储问题?
- 关于一个排列模式的问题
- Cache.Insert与Cache.Add问题
- SqlDataAdapter使用的问题
效率可能高,不过代码不会更短