MemoryStream Constructor (Byte[], Int32, Int32, Boolean)
Initializes a new non-resizable instance of the MemoryStream class based on the specified region of a byte array, with the CanWrite property set as specified.
Assembly: mscorlib (in mscorlib.dll)
public function MemoryStream( buffer : byte[], index : int, count : int, writable : boolean )
Parameters
- buffer
- Type: System.Byte[]
The array of unsigned bytes from which to create this stream.
- index
- Type: System.Int32
The index in buffer at which the stream begins.
- count
- Type: System.Int32
The length of the stream in bytes.
- writable
- Type: System.Boolean
The setting of the CanWrite property, which determines whether the stream supports writing.
| Exception | Condition |
|---|---|
| ArgumentNullException | buffer is a null reference (Nothing in Visual Basic). |
| ArgumentOutOfRangeException | index or count are negative. |
| ArgumentException | The sum of index and count is greater than the length of buffer. |
For an example of creating a file and writing text to a file, see How to: Write Text to a File. For an example of reading text from a file, see How to: Read Text from a File. For an example of reading from and writing to a binary file, see How to: Read and Write to a Newly Created Data File.
The CanRead and CanSeek properties are both set to true. 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 if writable is true.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.