Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

MemoryStream.SetLength Method

Sets the length of the current stream to the specified value.

[Visual Basic]
Overrides Public Sub SetLength( _
   ByVal value As Long _
public override void SetLength(
 long value
public: void SetLength(
 __int64 value
public override function SetLength(
   value : long


The value at which to set the length.


Exception Type Condition
NotSupportedException The current stream is not resizable and value is larger than the current capacity.


The current stream does not support writing.

ArgumentOutOfRangeException value is negative or is greater than the maximum length of the MemoryStream, where the maximum length is(MaxValue- origin), and origin is the index into the underlying buffer at which the stream starts.


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.

This method overrides SetLength.

If the specified value is less than the current length of the stream, the stream is truncated. If after the truncation the current position within the stream is past the end of the stream, the ReadByte method returns -1, the Read method reads zero bytes into the provided byte array, and Write and WriteByte methods append specified bytes at the end of the stream, increasing its length. If the specified value is larger than the current capacity and the stream is resizable, the capacity is increased, and the current position within the stream is unchanged. If the length is increased, the contents of the stream between the old and the new length are initialized to zeros.

Note   A MemoryStream instance must support writing for this method to work. Use the CanWrite property to determine whether the current instance supports writing. For additional information, see CanWrite.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

MemoryStream Class | MemoryStream Members | System.IO Namespace | Working with I/O | Reading Text from a File | Writing Text to a File

© 2018 Microsoft