BufferedStream.Seek(Int64, SeekOrigin) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает позицию в текущем буферизованном потоке.
public:
override long Seek(long offset, System::IO::SeekOrigin origin);
public override long Seek (long offset, System.IO.SeekOrigin origin);
override this.Seek : int64 * System.IO.SeekOrigin -> int64
Public Overrides Function Seek (offset As Long, origin As SeekOrigin) As Long
Параметры
- offset
- Int64
Смещение в байтах относительно origin
.
- origin
- SeekOrigin
Значение типа SeekOrigin, указывающее точку отсчета, относительно которой задается новая позиция.
Возвращаемое значение
Новая позиция в текущем буферизованном потоке.
Исключения
Поток не открыт или его значение равно null
.
Поток не поддерживает поиск.
Методы были вызваны после закрытия потока.
Комментарии
Если значение параметра offset
является отрицательным, новая позиция будет предшествовать позиции, заданной параметром origin
, при этом расстояние между позициями будет равняться числу байтов, заданному параметром offset
. Если offset
имеет значение 0, новая позиция будет позицией, заданной параметром origin
. Если значение параметра offset
является положительным, новая позиция будет следовать за позицией, заданной параметром origin
, при этом расстояние между позициями будет равняться количеству байтов, которое задано параметром offset
.
BufferedStream Если объект является базовым потоком StreamReader для объекта, вызов Seek метода может привести к тому, что позиция потока больше не будет соответствовать позиции внутреннего буфера в средстве чтения. Чтобы сбросить внутренний буфер, вызовите StreamReader.DiscardBufferedData метод . Однако этот метод замедляет производительность и должен вызываться только при крайней необходимости.
Поддерживается поиск в любом расположении, превышающем длину потока.