MemoryStream Constructor (Byte[], Int32, Int32)

July 28, 2014

Initializes a new non-resizable instance of the MemoryStream class based on the specified region (index) of a byte array.

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

public MemoryStream(
	byte[] buffer,
	int index,
	int count
)

Parameters

buffer
Type: System.Byte []
The array of unsigned bytes from which to create this stream.
index
Type: System.Int32
The index into buffer at which the stream begins.
count
Type: System.Int32
The length of the stream in bytes.

ExceptionCondition
ArgumentNullException

buffer is null.

ArgumentOutOfRangeException

index or count is less than zero.

ArgumentException

The buffer length minus index is less than count.

The CanRead, CanSeek, and CanWrite properties are all set to true, but the capacity cannot be changed. Capacity is set to count.

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).

This constructor does not expose the underlying stream. GetBuffer throws UnauthorizedAccessException. However, you can write to the stream.

Version Notes

Windows Phone

 System.ArgumentNullException is thrown when trying to retrieve a MemoryStream object with a size of zero bytes from a resource file. On Windows, no exception is thrown when the length is equal to zero.

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft