MemoryStream.WriteAsync 方法

定義

多載

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

以非同步方式將 source 中包含的位元組序列寫入至目前的記憶體資料流、將此記憶體資料流中目前的位置依寫入的位元組數向前移動,並監視取消要求。

WriteAsync(Byte[], Int32, Int32, CancellationToken)

以非同步的方式將一連串的位元組寫入目前的資料流,由這個資料流中目前的位置前移寫入的位元組數目,並且監視取消要求。

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

來源:
MemoryStream.cs
來源:
MemoryStream.cs
來源:
MemoryStream.cs

以非同步方式將 source 中包含的位元組序列寫入至目前的記憶體資料流、將此記憶體資料流中目前的位置依寫入的位元組數向前移動,並監視取消要求。

public override System.Threading.Tasks.ValueTask WriteAsync (ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken = default);
public override System.Threading.Tasks.ValueTask WriteAsync (ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
override this.WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Overrides Function WriteAsync (source As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask
Public Overrides Function WriteAsync (buffer As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask

參數

sourcebuffer
ReadOnlyMemory<Byte>

資料寫入來源的記憶體區域。

cancellationToken
CancellationToken

用來監視是否有取消要求的語彙基元。 預設值是 None

傳回

表示非同步寫入作業的工作。

例外狀況

取消標記已取消。 此例外狀況會儲存在傳回的工作中。

適用於

WriteAsync(Byte[], Int32, Int32, CancellationToken)

來源:
MemoryStream.cs
來源:
MemoryStream.cs
來源:
MemoryStream.cs

以非同步的方式將一連串的位元組寫入目前的資料流,由這個資料流中目前的位置前移寫入的位元組數目,並且監視取消要求。

public:
 override System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task

參數

buffer
Byte[]

寫入資料的來源緩衝區。

offset
Int32

buffer 中以零起始的位元組位移,要從其中開始將位元組複製至資料流。

count
Int32

寫入的最大位元組數。

cancellationToken
CancellationToken

用來監視是否有取消要求的語彙基元。 預設值是 None

傳回

表示非同步寫入作業的工作。

屬性

例外狀況

buffernull

offsetcount 為負。

offsetcount 的總和大於緩衝區長度。

資料流不支援寫入。

資料流已經處置。

之前的寫入作業目前正在使用資料流。

取消標記已取消。 此例外狀況會儲存在傳回的工作中。

備註

如果作業在完成之前取消,則傳回的工作會 Canceled 包含 屬性的值 Status

您可以建立 類別的實例, CancellationTokenSource 並傳遞 Token 屬性做為 cancellationToken 參數,以建立取消令牌。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Write(Byte[], Int32, Int32)例外狀況。

適用於