MemoryStream.ReadAsync Metodo

Definizione

Overload

ReadAsync(Memory<Byte>, CancellationToken)

Legge in modo asincrono una sequenza di byte dal flusso di memoria corrente, scrive la sequenza in destination, fa avanzare la posizione all'interno del flusso di memoria in base al numero di byte letti e monitora le richieste di annullamento.

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

Legge in modo asincrono una sequenza di byte dal flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte letti e monitora le richieste di annullamento.

ReadAsync(Memory<Byte>, CancellationToken)

Legge in modo asincrono una sequenza di byte dal flusso di memoria corrente, scrive la sequenza in destination, fa avanzare la posizione all'interno del flusso di memoria in base al numero di byte letti e monitora le richieste di annullamento.

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)

Parametri

destinationbuffer
Memory<Byte>

L'area di memoria su cui scrivere i dati.

cancellationToken
CancellationToken

Token da monitorare per le richieste di annullamento. Il valore predefinito è None.

Restituisce

Attività che rappresenta l'operazione di lettura asincrona. Il valore della proprietà Result contiene il numero totale di byte letti in destination. È possibile che il valore risultante sia inferiore al numero dei byte allocati in destination se la quantità di byte disponibili è minore oppure che corrisponda a zero (0) se è stata raggiunta la fine del flusso di memoria.

Eccezioni

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Si applica a

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

Legge in modo asincrono una sequenza di byte dal flusso corrente e passa alla posizione successiva all'interno del flusso corrente in base al numero di byte letti e monitora le richieste di annullamento.

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)

Parametri

buffer
Byte[]

Buffer in cui scrivere i dati.

offset
Int32

Offset dei byte in buffer da cui iniziare la scrittura dei dati dal flusso.

count
Int32

Numero massimo di byte da leggere.

cancellationToken
CancellationToken

Token da monitorare per le richieste di annullamento. Il valore predefinito è None.

Restituisce

Attività che rappresenta l'operazione di lettura asincrona. Il valore del parametro di TResult contiene il numero totale di byte letti nel buffer. Il valore del risultato può essere minore del numero di byte richiesti se il numero di byte attualmente disponibili è minore di quelli richiesti o può essere pari a 0 (zero) se è stata raggiunta la fine del flusso.

Attributi

Eccezioni

buffer è null.

offset o count è negativo.

La somma di offset e count è maggiore della lunghezza del buffer.

Il flusso non supporta la lettura.

Il flusso è stato eliminato.

Il flusso è attualmente usato da un'operazione di lettura precedente.

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Commenti

Se l'operazione viene annullata prima del completamento, l'attività restituita contiene il Canceled valore per la Status proprietà .

È possibile creare un token di annullamento creando un'istanza della CancellationTokenSource classe e passando la Token proprietà come cancellationToken parametro .

Questo metodo archivia nell'attività restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Read(Byte[], Int32, Int32).

Si applica a