StringReader.ReadAsync Metódus

Definíció

Túlterhelések

Name Description
ReadAsync(Char[], Int32, Int32)

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

ReadAsync(Memory<Char>, CancellationToken)

Aszinkron módon beolvassa a bemeneti sztring összes karakterét az aktuális pozíciótól kezdve, és az aktuális pozíciót a bemeneti sztring végére viszi.

ReadAsync(Char[], Int32, Int32)

Forrás:
StringReader.cs
Forrás:
StringReader.cs
Forrás:
StringReader.cs
Forrás:
StringReader.cs
Forrás:
StringReader.cs

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

public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <char> ^ buffer, int index, int count);
public override System.Threading.Tasks.Task<int> ReadAsync(char[] buffer, int index, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task<int> ReadAsync(char[] buffer, int index, int count);
override this.ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (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 sztring 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 bájtok teljes számát tartalmazza. Az eredmény értéke kisebb lehet, mint a kért bájtok száma, ha a jelenleg elérhető bájtok száma kisebb a kért számnál, vagy 0 (nulla) lehet, ha a sztring 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 sztringolvasó el lett adva.

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

Példák

Az alábbi példa bemutatja, hogyan olvasható be a sztring első 23 karaktere aszinkron módon.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            ReadCharacters();
        }

        static async void ReadCharacters()
        {
            string stringToRead = "Some characters to read but not all";
            char[] charsRead = new char[stringToRead.Length];

            using (StringReader reader = new StringReader(stringToRead))
            {
                await reader.ReadAsync(charsRead, 0, 23);
                Console.WriteLine(charsRead);
            }
        }
    }
}
// The example displays the following output:
// Some characters to read
//
Imports System.IO

Module Module1

    Sub Main()
        ReadCharacters()
    End Sub

    Async Sub ReadCharacters()
        Dim stringToRead = "Some characters to read but not all"
        Dim charsRead(stringToRead.Length) As Char

        Using reader As StringReader = New StringReader(stringToRead)
            Await reader.ReadAsync(charsRead, 0, 23)
            Console.WriteLine(charsRead)
        End Using
    End Sub

End Module
' The example displays the following output:
' Some characters to read
'

Megjegyzések

A feladat a paraméter által count megadott karakterek olvasása vagy a sztring vége elérése után fejeződik be.

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 Read(Char[], Int32, Int32)kiadott kivételeket: .

A következőre érvényes:

ReadAsync(Memory<Char>, CancellationToken)

Forrás:
StringReader.cs
Forrás:
StringReader.cs
Forrás:
StringReader.cs
Forrás:
StringReader.cs
Forrás:
StringReader.cs

Aszinkron módon beolvassa a bemeneti sztring összes karakterét az aktuális pozíciótól kezdve, és az aktuális pozíciót a bemeneti sztring végére viszi.

public override System.Threading.Tasks.ValueTask<int> ReadAsync(Memory<char> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<char> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (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, az aktuális forrásból beolvasott karaktereket tartalmazza.

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ő feladat. A paraméter értéke a TResult pufferbe beolvasott karakterek teljes számát tartalmazza.

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: