memorystream的getbuffer()和toarray()方法有什么区别?在使用的时候要注意什么?
解决方案 »
- 实现一个效果:下拉框换成文本框,又类似的下拉功能。在线~~~~~
- 皮肤控件的bug
- 狂散分!关于WinForm下RDLC报表样式(矩阵、分组)设计,有没有很好的办法做出中式报表,有实例和文档吗?见表...
- 菜鸟关于连接数据库的连接优化初级的疑问.大虾帮帮我.
- 天书奇谈C#版
- 显示问题
- 求助sql存储过程读取字符串问题,急,在线等
- C#在企业结构中的位置?????????是不是学习了C#就是白学习了???很难找到工作的???
- 很简单的一个问题,希望大家顶一下和看一下,当然要解决一下!
- form上数据查询问题
- 如何实现 点击treeview当前节点 触发事件?
- C# Session 问题理解不了,请求帮忙
MemoryStream ms = new MemoryStream(buffer, 0, buffer.Length, true, true);
byte[] bs = ms.GetBuffer();
foreach (byte b in bs)
{
Console.WriteLine(b);
}
ms.Close();MemoryStream构造函数有5个重载
要使GetBuffer函数可用,用5个参数的构造函数,原型如下:
public MemoryStream(
byte[] buffer,
int index,
int count,
bool writable,
bool publiclyVisible
)各参数意义如下:
buffer
类型:array<System..::.Byte>[]()[]从中创建该流的无符号字节数组。index
类型:System..::.Int32buffer 内的索引,流从此处开始。count
类型:System..::.Int32流的长度(以字节为单位)。writable
类型:System..::.BooleanCanWrite 属性的设置,确定流是否支持写入。publiclyVisible
类型:System..::.Boolean设置为 true 可以启用 GetBuffer,它返回无符号字节数组,流从该数组创建;否则为 false。
byte[] buf1 = new byte[1024];
MemoryStream ms = new MemoryStream(buf1,0,buf1.Length,true,true); // 第5个参数是true
int l=ms.GetBuffer().Length; // 返回创建此流所用的字节数组 buf1
byte[] buf2 = ms.ToArray(); // 将整个流内容写入字节数组--创建新字节数组。
使用flush()还是不可以 使用含有五个参数的构造函数就OK了