StringReader.ReadAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
ReadAsync(Char[], Int32, Int32) |
Odczytuje określoną maksymalną liczbę znaków z bieżącego ciągu asynchronicznie i zapisuje dane w buforze, począwszy od określonego indeksu. |
ReadAsync(Memory<Char>, CancellationToken) |
Asynchronicznie odczytuje wszystkie znaki z ciągu wejściowego, zaczynając od bieżącego położenia, i przesuwa bieżącą pozycję na koniec ciągu wejściowego. |
ReadAsync(Char[], Int32, Int32)
- Źródło:
- StringReader.cs
- Źródło:
- StringReader.cs
- Źródło:
- StringReader.cs
Odczytuje określoną maksymalną liczbę znaków z bieżącego ciągu asynchronicznie i zapisuje dane w buforze, począwszy od określonego indeksu.
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)
Parametry
- buffer
- Char[]
Gdy ta metoda zwraca wartość , zawiera określoną tablicę znaków z wartościami między index
i (index
+ count
- 1) zastąpionymi znakami odczytanymi z bieżącego źródła.
- index
- Int32
Pozycja, w buffer
której należy rozpocząć pisanie.
- count
- Int32
Maksymalna liczba znaków do odczytania. Jeśli koniec ciągu zostanie osiągnięty przed zapisaną określoną liczbą znaków w buforze, metoda zwraca wartość .
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 ciągu.
- Atrybuty
Wyjątki
buffer
to null
.
index
lub count
jest ujemny.
Suma index
wartości i count
jest większa niż długość buforu.
Czytnik ciągów został usunięty.
Czytnik jest obecnie używany przez poprzednią operację odczytu.
Przykłady
W poniższym przykładzie pokazano, jak odczytać pierwsze 23 znaki ciągu asynchronicznie.
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
'
Uwagi
Zadanie zostanie ukończone po odczytaniu liczby znaków określonych przez count
parametr lub osiągnięciu końca ciągu.
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(Char[], Int32, Int32)usługę .
Dotyczy
ReadAsync(Memory<Char>, CancellationToken)
- Źródło:
- StringReader.cs
- Źródło:
- StringReader.cs
- Źródło:
- StringReader.cs
Asynchronicznie odczytuje wszystkie znaki z ciągu wejściowego, zaczynając od bieżącego położenia, i przesuwa bieżącą pozycję na koniec ciągu wejściowego.
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)
Parametry
- 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ę znaków odczytanych do buforu.
Wyjątki
Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.