SeekOrigin Enumeration


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