This documentation is archived and is not being maintained.

MemoryStream.MemoryStream(Byte[], Int32, Int32, Boolean, Boolean) Constructor

Initializes a new instance of the MemoryStream class based on the specified region of a byte array, with the CanWrite property set as specified, and the ability to call GetBuffer set as specified.

Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)

public MemoryStream (
	byte[] buffer,
	int index,
	int count,
	bool writable,
	bool publiclyVisible
public MemoryStream (
	byte[] buffer, 
	int index, 
	int count, 
	boolean writable, 
	boolean publiclyVisible
public function MemoryStream (
	buffer : byte[], 
	index : int, 
	count : int, 
	writable : boolean, 
	publiclyVisible : boolean
Not applicable.



The array of unsigned bytes from which to create this stream.


The index into buffer at which the stream begins.


The length of the stream in bytes.


The setting of the CanWrite property, which determines whether the stream supports writing.


true to enable GetBuffer, which returns the unsigned byte array from which the stream was created; otherwise, false.

Exception typeCondition


buffer is a null reference (Nothing in Visual Basic).


index or count is negative.


The buffer length minus index is less than count.

For an example of creating a file and writing text to a file, see Writing Text to a File. For an example of reading text from a file, see Reading Text from a File. For an example of reading from and writing to a binary file, see Reading and Writing to a Newly Created Data File.

The CanRead and CanSeek properties are both set to true. Capacity is set to count.

The new stream instance can be written to, but the Capacity of the underlying byte array cannot be changed. The length of the stream cannot be set to a value greater than the initial length of the specified byte array; however, the stream can be truncated (see SetLength).

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0