Share via


PipeReader.AdvanceTo 方法

定義

將管線的讀取資料指標向前移至耗用的資料之後。

多載

AdvanceTo(SequencePosition)

將管線的讀取游標向前移至已取用資料的後面,將資料標示為已處理。

AdvanceTo(SequencePosition, SequencePosition)

將管線的讀取游標向前移至已取用資料的後面,將資料標示為已處理、讀取及檢查。

備註

已取用數據的記憶體將會釋放,且不再可用。 Buffer先前從 傳回的 ReadAsync(CancellationToken) ,在呼叫之後不得存取。 當檢查的數據應該發出更多可用的訊號時,檢查的數據會與管線通訊。

AdvanceTo(SequencePosition)

來源:
PipeReader.cs
來源:
PipeReader.cs
來源:
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)

來源:
PipeReader.cs
來源:
PipeReader.cs
來源:
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

適用於