Stream.ReadExactlyAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
以異步方式從目前的數據流讀取位元組、將數據流內的位置往前移,直到 |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
以異步方式從目前數據流讀取 |
ReadExactlyAsync(Memory<Byte>, CancellationToken)
- 來源:
- Stream.cs
- 來源:
- Stream.cs
- 來源:
- Stream.cs
以異步方式從目前的數據流讀取位元組、將數據流內的位置往前移,直到 buffer
填滿為止,並監視取消要求。
public System.Threading.Tasks.ValueTask ReadExactlyAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
member this.ReadExactlyAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ReadExactlyAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask
參數
- cancellationToken
- CancellationToken
用來監視是否有取消要求的語彙基元。
傳回
表示非同步讀取作業的工作。
例外狀況
在填滿 buffer
之前,會到達數據流的結尾。
取消標記已取消。 此例外狀況會儲存在傳回的工作中。
備註
當 是空的時 buffer
,此讀取作業將會完成,而不需要等候數據流中的可用數據。
適用於
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)
- 來源:
- Stream.cs
- 來源:
- Stream.cs
- 來源:
- Stream.cs
以異步方式從目前數據流讀取 count
位元組數目、將數據流內的位置往前移,以及監視取消要求。
public System.Threading.Tasks.ValueTask ReadExactlyAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken = default);
member this.ReadExactlyAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ReadExactlyAsync (buffer As Byte(), offset As Integer, count As Integer, Optional cancellationToken As CancellationToken = Nothing) As ValueTask
參數
- buffer
- Byte[]
寫入資料的緩衝區。
- offset
- Int32
開始於此處自資料流寫入資料的 buffer
中的位元組位移。
- count
- Int32
要從目前數據流讀取的位元元組數目。
- cancellationToken
- CancellationToken
用來監視是否有取消要求的語彙基元。
傳回
表示非同步讀取作業的工作。
例外狀況
buffer
為 null
。
offset
不在 buffer
範圍內。
-或-
count
為負。
-或-
和 count
的組合offset
所指定的範圍超過的buffer
長度。
讀取位元組數目之前 count
,會到達數據流結尾。
取消標記已取消。 此例外狀況會儲存在傳回的工作中。
備註
當 count
為 0 (零) 時,此讀取作業將會完成,而不需要等待數據流中的可用數據。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 ReadExactly(Byte[], Int32, Int32)例外狀況。