Udostępnij za pośrednictwem


MemoryStream.ReadAsync Metoda

Definicja

Przeciążenia

ReadAsync(Memory<Byte>, CancellationToken)

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia pamięci, zapisuje sekwencję w destinationelemencie , zwiększa pozycję w strumieniu pamięci o liczbę odczytanych bajtów i monitoruje żądania anulowania.

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

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia, przesuwa pozycję w strumieniu o liczbę odczytanych bajtów i monitoruje żądania anulowania.

ReadAsync(Memory<Byte>, CancellationToken)

Źródło:
MemoryStream.cs
Źródło:
MemoryStream.cs
Źródło:
MemoryStream.cs

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia pamięci, zapisuje sekwencję w destinationelemencie , zwiększa pozycję w strumieniu pamięci o liczbę odczytanych bajtów i monitoruje żądania anulowania.

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)

Parametry

destinationbuffer
Memory<Byte>

Region pamięci do zapisywania danych.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania. Wartość domyślna to None.

Zwraca

Zadanie reprezentujące asynchroniczną operację odczytu. Wartość jej Result właściwości zawiera całkowitą liczbę bajtów odczytanych w obiekcie destination. Wartość wynikowa może być mniejsza niż liczba bajtów przydzielonych, destination jeśli liczba bajtów nie jest obecnie dostępna lub może być równa 0 (zero), jeśli osiągnięto koniec strumienia pamięci.

Wyjątki

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.

Dotyczy

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

Źródło:
MemoryStream.cs
Źródło:
MemoryStream.cs
Źródło:
MemoryStream.cs

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia, przesuwa pozycję w strumieniu o liczbę odczytanych bajtów i monitoruje żądania anulowania.

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)

Parametry

buffer
Byte[]

Bufor do zapisania danych.

offset
Int32

Przesunięcie bajtu, w buffer którym należy rozpocząć zapisywanie danych ze strumienia.

count
Int32

Maksymalna liczba bajtów do odczytania.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania. Wartość domyślna to None.

Zwraca

Zadanie reprezentujące asynchroniczną operację odczytu. Wartość parametru TResult zawiera całkowitą liczbę bajtów odczytanych do buforu. Wartość wyniku może być mniejsza niż liczba bajtów żądanych, jeśli liczba obecnie dostępnych bajtów jest mniejsza niż żądana liczba lub może być równa 0 (zero), jeśli osiągnięto koniec strumienia.

Atrybuty

Wyjątki

buffer to null.

offset lub count jest ujemny.

Suma offset wartości i count jest większa niż długość buforu.

Strumień nie obsługuje odczytu.

Strumień został usunięty.

Strumień jest obecnie używany przez poprzednią operację odczytu.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.

Uwagi

Jeśli operacja zostanie anulowana przed jej zakończeniem, zwrócone zadanie zawiera Canceled wartość właściwości Status .

Token anulowania można utworzyć, tworząc wystąpienie CancellationTokenSource klasy i przekazując Token właściwość jako cancellationToken parametr .

Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Read(Byte[], Int32, Int32)usługę .

Dotyczy