MemoryStream是C#处理IO流中很常用的一个类 MS官方的解释文字为:创建其支持存储区为内存的流。
它的类声明为 class System.IO.MemoryStream : System.IO.Stream 需要C#基础库mscorlib的引用
源代码有500多行 于是不贴了 毫无意义
总体来说 MemoryStream的工作方式和它字面的意思一样 就是对一段内存进行流读写控制
它的基本存储单位是byte[]
通过咱的上一篇文章可以知道 byte[]为.net的托管数组 同时也可以获得它的内存指针进行操作
所以 说MemoryStream是操作的一段内存区间并不过分
MemoryStream的构造函数有7个重载
它们可以大致分成两部分:带byte[]参数和不带byte[]参数的
下面分别进行详细说明:
public MemoryStream();
public MemoryStream(int capacity);
public MemoryStream(byte[] buffer);
public MemoryStream(byte[] buffer, bool writable);
public MemoryStream(byte[] buffer, int index, int count);
public MemoryStream(byte[] buffer, int index, int count, bool writable);
public MemoryStream(byte[] buffer, int index, int count, bool writable, bool publiclyVisible);
MemoryStream内部的私有字段如下:
private byte[] _buffer;
private int _capacity;