PipeReader.AdvanceTo 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將管線的讀取數據指標向前移動至取用的數據之後。
多載
AdvanceTo(SequencePosition) |
將管線的讀取數據指標向前移動至取用的數據之後,將數據標示為已處理。 |
AdvanceTo(SequencePosition, SequencePosition) |
將管線的讀取數據指標向前移至取用的數據之後,將數據標示為已處理、讀取和檢查。 |
備註
已取用數據的記憶體將會釋放,且不再可用。 先前從 ReadAsync(CancellationToken) 傳回的 Buffer,在此呼叫之後不得存取。 檢查的數據會在應該發出更多數據可用訊號時,與管線通訊。
AdvanceTo(SequencePosition)
將管線的讀取數據指標向前移動至取用的數據之後,將數據標示為已處理。
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
標記已成功處理的數據範圍。
備註
已取用數據的記憶體將會釋放,且不再可用。
先前從 ReadAsync(CancellationToken) 傳回的 Buffer,在此呼叫之後不得存取。
這相當於呼叫具有相同已檢查和取用位置的 AdvanceTo(SequencePosition, SequencePosition)。 檢查的數據會在應該發出更多數據可用訊號時,與管線通訊。
由於已取用的參數會加倍作為已檢查的參數,因此取用的參數應該大於或等於先前呼叫中檢查的位置,AdvanceTo
。 否則,會擲回 InvalidOperationException。
適用於
AdvanceTo(SequencePosition, SequencePosition)
將管線的讀取數據指標向前移至取用的數據之後,將數據標示為已處理、讀取和檢查。
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
標記已讀取和檢查的數據範圍。
備註
已取用數據的記憶體將會釋放,且不再可用。
先前從 ReadAsync(CancellationToken) 傳回的 Buffer,在此呼叫之後不得存取。
檢查的數據會在應該發出更多數據可用訊號時,與管線通訊。
所檢查的參數應該大於或等於先前呼叫中檢查的位置,AdvanceTo
。 否則,會擲回 InvalidOperationException。