PipeReader.AdvanceTo 方法

定义

将管道的读取光标向前移动到已使用的数据之后。

重载

AdvanceTo(SequencePosition)

将管道的读取光标向前移动到已使用的数据之后,将数据标记为“已处理”。

AdvanceTo(SequencePosition, SequencePosition)

将管道的读取光标向前移动到已使用的数据之后,将数据标记为“已处理”、“已读取”和“已检查”。

注解

已使用数据的内存将释放且不再可用。 Buffer在此调用后,不得访问以前从 ReadAsync(CancellationToken) 返回的 。 检查的数据在应发出更多数据可用信号时与管道通信。

AdvanceTo(SequencePosition)

Source:
PipeReader.cs
Source:
PipeReader.cs
Source:
PipeReader.cs

将管道的读取光标向前移动到已使用的数据之后,将数据标记为“已处理”。

public:
 abstract void AdvanceTo(SequencePosition consumed);
public abstract void AdvanceTo (SequencePosition consumed);
abstract member AdvanceTo : SequencePosition -> unit
Public MustOverride Sub AdvanceTo (consumed As SequencePosition)

参数

consumed
SequencePosition

标记已成功处理的数据范围。

注解

已使用数据的内存将释放且不再可用。

Buffer在此调用后,不得访问以前从 ReadAsync(CancellationToken) 返回的 。

这等效于使用相同的检查和使用位置调用 AdvanceTo(SequencePosition, SequencePosition) 。 检查的数据在应发出更多数据可用信号时与管道通信。

由于使用的参数加倍作为检查的参数,因此使用的参数应大于或等于对 的上一次调用 AdvanceTo中检查的位置。 否则会引发 InvalidOperationException

适用于

AdvanceTo(SequencePosition, SequencePosition)

Source:
PipeReader.cs
Source:
PipeReader.cs
Source:
PipeReader.cs

将管道的读取光标向前移动到已使用的数据之后,将数据标记为“已处理”、“已读取”和“已检查”。

public:
 abstract void AdvanceTo(SequencePosition consumed, SequencePosition examined);
public abstract void AdvanceTo (SequencePosition consumed, SequencePosition examined);
abstract member AdvanceTo : SequencePosition * SequencePosition -> unit
Public MustOverride Sub AdvanceTo (consumed As SequencePosition, examined As SequencePosition)

参数

consumed
SequencePosition

标记已成功处理的数据范围。

examined
SequencePosition

标记已读取并检查的数据范围。

注解

已使用数据的内存将释放且不再可用。

Buffer在此调用后,不得访问以前从 ReadAsync(CancellationToken) 返回的 。

检查的数据在应发出更多数据可用信号时与管道通信。

检查的参数应大于或等于对 的上一次调用 AdvanceTo中检查的位置。 否则会引发 InvalidOperationException

适用于