R4D*_*4D4 4 c# database binarywriter
我的应用程序是一个小型的C#数据库,我BinaryWriter用来将数据库保存到一个文件,该文件与bool,uint32等基本类型工作正常.
虽然我有一个类型的变量Object(允许用户)存储任何数据类型),但由于我的应用程序不(也不需要)知道此变量的实际类型,我不确定如何使用它来编写它BinaryWriter.
有没有办法我可以抓住变量的内存并保存?那可靠吗?
编辑:
ba_friend提供的答案有两个函数用于将Object解序/序列化为字节数组,可以使用BinaryWriter将其与其长度一起写入.
ba_*_*end 10
您可以使用序列化,尤其是BinaryFormatter获取序列化byte[].
注意:您要序列化的类型必须使用该属性标记为Serializable[Serializable].
public static byte[] SerializeToBytes<T>(T item)
{
var formatter = new BinaryFormatter();
using (var stream = new MemoryStream())
{
formatter.Serialize(stream, item);
stream.Seek(0, SeekOrigin.Begin);
return stream.ToArray();
}
}
Run Code Online (Sandbox Code Playgroud)
public static object DeserializeFromBytes(byte[] bytes)
{
var formatter = new BinaryFormatter();
using (var stream = new MemoryStream(bytes))
{
return formatter.Deserialize(stream);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7516 次 |
| 最近记录: |