Поделиться через


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 метод . Однако этот метод замедляет производительность и должен вызываться только при крайней необходимости.

Поддерживается поиск в любом расположении, превышающем длину потока.

Применяется к

См. также раздел