Seek Method

MemoryStream.Seek Method (Int64, SeekOrigin)


Sets the position within the current stream to the specified value.

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

public override long Seek(
	long offset,
	SeekOrigin loc


Type: System.Int64

The new position within the stream. This is relative to the loc parameter, and can be positive or negative.

Type: System.IO.SeekOrigin

A value of type SeekOrigin, which acts as the seek reference point.

Return Value

Type: System.Int64

The new position within the stream, calculated by combining the initial reference point and the offset.

Exception Condition

Seeking is attempted before the beginning of the stream.


offset is greater than MaxValue.


There is an invalid SeekOrigin.


offset caused an arithmetic overflow.


The current stream instance is closed.

This method overrides Stream.Seek.

Seeking to any location beyond the length of the stream is supported.

Do not use the Seek method to determine the new position in the stream if the MemoryStream was initialized with a non-zero offset. If you do, Seek will return an inaccurate value. Instead, use the Position property to get the new position of the stream.

This code example is part of a larger example provided for the MemoryStream class.

// Set the position to the beginning of the stream.
memStream.Seek(0, SeekOrigin.Begin);

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
© 2015 Microsoft