Bagikan melalui


MemoryStream.ReadAsync Metode

Definisi

Overload

ReadAsync(Memory<Byte>, CancellationToken)

Secara asinkron membaca urutan byte dari aliran memori saat ini, menulis urutan ke dalam destination, memajukan posisi dalam aliran memori dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan.

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

Secara asinkron membaca urutan byte dari aliran saat ini, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan.

ReadAsync(Memory<Byte>, CancellationToken)

Sumber:
MemoryStream.cs
Sumber:
MemoryStream.cs
Sumber:
MemoryStream.cs

Secara asinkron membaca urutan byte dari aliran memori saat ini, menulis urutan ke dalam destination, memajukan posisi dalam aliran memori dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan.

public override System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<byte> destination, System.Threading.CancellationToken cancellationToken = default);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (destination As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parameter

destinationbuffer
Memory<Byte>

Wilayah memori untuk menulis data.

cancellationToken
CancellationToken

Token yang akan dipantau untuk permintaan pembatalan. Nilai defaultnya adalah None.

Mengembalikan

Tugas yang mewakili operasi baca asinkron. Nilai propertinya Result berisi jumlah total byte yang dibaca ke destinationdalam . Nilai hasilnya bisa kurang dari jumlah byte yang dialokasikan jika destination banyak byte saat ini tidak tersedia, atau bisa 0 (nol) jika akhir aliran memori telah tercapai.

Pengecualian

Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.

Berlaku untuk

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

Sumber:
MemoryStream.cs
Sumber:
MemoryStream.cs
Sumber:
MemoryStream.cs

Secara asinkron membaca urutan byte dari aliran saat ini, memajukan posisi dalam aliran dengan jumlah byte yang dibaca, dan memantau permintaan pembatalan.

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

Parameter

buffer
Byte[]

Buffer untuk menulis data.

offset
Int32

Offset byte untuk buffer mulai menulis data dari aliran.

count
Int32

Jumlah maksimum byte yang akan dibaca.

cancellationToken
CancellationToken

Token yang akan dipantau untuk permintaan pembatalan. Nilai defaultnya adalah None.

Mengembalikan

Tugas yang mewakili operasi baca asinkron. Nilai TResult parameter berisi jumlah total byte yang dibaca ke dalam buffer. Nilai hasil dapat kurang dari jumlah byte yang diminta jika jumlah byte yang saat ini tersedia kurang dari angka yang diminta, atau bisa 0 (nol) jika akhir aliran telah tercapai.

Atribut

Pengecualian

bufferadalah null.

offset atau count negatif.

Jumlah offset dan count lebih besar dari panjang buffer.

Aliran tidak mendukung pembacaan.

Aliran telah dibuang.

Aliran saat ini digunakan oleh operasi baca sebelumnya.

Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.

Keterangan

Jika operasi dibatalkan sebelum selesai, tugas yang dikembalikan berisi Canceled nilai untuk Status properti .

Anda dapat membuat token pembatalan dengan membuat instans CancellationTokenSource kelas dan meneruskan Token properti sebagai cancellationToken parameter .

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Read(Byte[], Int32, Int32).

Berlaku untuk