StreamReader.ReadBlockAsync Metódus

Definíció

Túlterhelések

Name Description
ReadBlockAsync(Memory<Char>, CancellationToken)

Aszinkron módon beolvassa a karaktereket az aktuális adatfolyamból, és egy pufferbe írja az adatokat.

ReadBlockAsync(Char[], Int32, Int32)

Beolvassa a megadott maximális számú karaktert az aktuális streamből aszinkron módon, és a megadott indextől kezdve egy pufferbe írja az adatokat.

ReadBlockAsync(Memory<Char>, CancellationToken)

Forrás:
StreamReader.cs
Forrás:
StreamReader.cs
Forrás:
StreamReader.cs
Forrás:
StreamReader.cs
Forrás:
StreamReader.cs

Aszinkron módon beolvassa a karaktereket az aktuális adatfolyamból, és egy pufferbe írja az adatokat.

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

Paraméterek

buffer
Memory<Char>

Amikor ez a metódus visszatér, a megadott memóriablokkot tartalmazza, amelyet az aktuális forrásból beolvasott karakterek váltanak fel.

cancellationToken
CancellationToken

A lemondási kérelmek figyelésére szolgáló jogkivonat. Az alapértelmezett érték a None.

Válaszok

Az aszinkron olvasási műveletet képviselő értékfeladat. Az értékfeladat típusparaméterének értéke a pufferbe beolvasott karakterek teljes számát tartalmazza. Az eredmény értéke kisebb lehet, mint a kért karakterek száma, ha a jelenleg elérhető karakterek száma kisebb a kért számnál, vagy 0 (nulla) lehet, ha a stream vége el lett érve.

Kivételek

A lemondási jogkivonat megszakadt. Ezt a kivételt a rendszer a visszaadott tevékenységben tárolja.

A következőre érvényes:

ReadBlockAsync(Char[], Int32, Int32)

Forrás:
StreamReader.cs
Forrás:
StreamReader.cs
Forrás:
StreamReader.cs
Forrás:
StreamReader.cs
Forrás:
StreamReader.cs

Beolvassa a megadott maximális számú karaktert az aktuális streamből aszinkron módon, és a megadott indextől kezdve egy pufferbe írja az adatokat.

public:
 override System::Threading::Tasks::Task<int> ^ ReadBlockAsync(cli::array <char> ^ buffer, int index, int count);
public override System.Threading.Tasks.Task<int> ReadBlockAsync(char[] buffer, int index, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task<int> ReadBlockAsync(char[] buffer, int index, int count);
override this.ReadBlockAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.ReadBlockAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadBlockAsync (buffer As Char(), index As Integer, count As Integer) As Task(Of Integer)

Paraméterek

buffer
Char[]

Amikor ez a metódus visszatér, a megadott karaktertömböt tartalmazza az aktuális forrásból beolvasott karakterek és (indexindex + - 1) közötti count értékekkel.

index
Int32

Az írás buffer megkezdésének helye.

count
Int32

Az elolvasandó karakterek maximális száma. Ha a stream vége a megadott számú karakter pufferbe való beírása előtt ér véget, a metódus visszatér.

Válaszok

Az aszinkron olvasási műveletet képviselő feladat. A paraméter értéke a TResult pufferbe beolvasott karakterek teljes számát tartalmazza. Az eredmény értéke kisebb lehet, mint a kért karakterek száma, ha a jelenleg elérhető karakterek száma kisebb a kért számnál, vagy 0 (nulla) lehet, ha a stream vége el lett érve.

Attribútumok

Kivételek

buffer az null.

index vagy count negatív.

A puffer hosszánál nagyobb és index nagyobb összegcount.

A stream el lett dobva.

Az olvasót jelenleg egy korábbi olvasási művelet használja.

Megjegyzések

A feladat nem fejeződik be, amíg el nem éri a paraméter által count megadott karakterek számát, vagy el nem éri a stream végét.

Ez a metódus a feladatban tárolja az összes olyan nem használati kivételt, amelyet a metódus szinkron megfelelője tud dobni. Ha egy kivételt tárol a visszaadott tevékenységben, akkor a rendszer akkor küldi el a kivételt, amikor a feladatra vár. A használati kivételek(például ArgumentException) továbbra is szinkron módon jelennek meg. A tárolt kivételekről lásd a következő által ReadBlock(Char[], Int32, Int32)kiadott kivételeket: .

A következőre érvényes: