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.

SeekOrigin Enumeration


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Specifies the position in a stream to use for seeking.

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

public enum SeekOrigin

Member nameDescription

Specifies the beginning of a stream.


Specifies the current position within a stream.


Specifies the end of a stream.

SeekOrigin is used by the Seek methods of Stream, BufferedStream, FileStream, MemoryStream, BinaryWriter, and other classes. The Seek methods take an offset parameter that is relative to the position specified by SeekOrigin.

The following example shows how to read backwards starting at the end of the stream, and how to read from a specified point in the stream.

using System;
using System.IO;

public class FSSeek
    public static void Main()
        long offset;
        int nextByte;

        // alphabet.txt contains "abcdefghijklmnopqrstuvwxyz"
        using (FileStream fs = new FileStream(@"c:\temp\alphabet.txt", FileMode.Open, FileAccess.Read))
            for (offset = 1; offset <= fs.Length; offset++)
                fs.Seek(-offset, SeekOrigin.End);

            fs.Seek(20, SeekOrigin.Begin);

            while ((nextByte = fs.ReadByte()) > 0)
// This code example displays the following output:
// zyxwvutsrqponmlkjihgfedcba
// uvwxyz

Universal Windows Platform
Available since 8
.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
© 2018 Microsoft