将内存流对象序列化为字符串
现在我正在使用 XmlTextWriter 将 MemoryStream 对象转换为字符串。但我想知道是否有更快的方法将内存流序列化为字符串。
我按照此处给出的代码进行序列化 - http://www.eggheadcafe.com/ articles/system.xml.xmlserialization.asp
编辑
流到字符串
ms.Position = 0;
using (StreamReader sr = new StreamReader(ms))
{
string content = sr.ReadToEnd();
SaveInDB(ms);
}
字符串到流
string content = GetFromContentDB();
byte[] byteArray = Encoding.ASCII.GetBytes(content);
MemoryStream ms = new MemoryStream(byteArray);
byte[] outBuf = ms.GetBuffer(); //error here
Right now I'm using XmlTextWriter to convert a MemoryStream object into string. But I wan't to know whether there is a faster method to serialize a memorystream to string.
I follow the code given here for serialization - http://www.eggheadcafe.com/articles/system.xml.xmlserialization.asp
Edited
Stream to String
ms.Position = 0;
using (StreamReader sr = new StreamReader(ms))
{
string content = sr.ReadToEnd();
SaveInDB(ms);
}
String to Stream
string content = GetFromContentDB();
byte[] byteArray = Encoding.ASCII.GetBytes(content);
MemoryStream ms = new MemoryStream(byteArray);
byte[] outBuf = ms.GetBuffer(); //error here
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当您使用 MemoryStream(byte[]) 构造函数时,无法使用 GetBuffer。
MSDN 引用:
您必须使用此构造函数并设置
publiclyVisible = true 为了使用 GetBuffer
You cant use GetBuffer when you use MemoryStream(byte[]) constructor.
MSDN quote:
You must use this constructor and set
publiclyVisible = true
in order to use GetBuffer在 VB.net 中我使用了这个
可能适用
In VB.net i used this
in C# may apply