Поделиться через


StringReader.ReadLineAsync Метод

Определение

Перегрузки

ReadLineAsync()

Асинхронно выполняет чтение строки символов из текущей строки и возвращает данные в виде строки.

ReadLineAsync(CancellationToken)

Асинхронно выполняет чтение строки символов из текущей строки и возвращает данные в виде строки.

ReadLineAsync()

Исходный код:
StringReader.cs
Исходный код:
StringReader.cs
Исходный код:
StringReader.cs

Асинхронно выполняет чтение строки символов из текущей строки и возвращает данные в виде строки.

public:
 override System::Threading::Tasks::Task<System::String ^> ^ ReadLineAsync();
public override System.Threading.Tasks.Task<string> ReadLineAsync ();
public override System.Threading.Tasks.Task<string?> ReadLineAsync ();
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task<string> ReadLineAsync ();
override this.ReadLineAsync : unit -> System.Threading.Tasks.Task<string>
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.ReadLineAsync : unit -> System.Threading.Tasks.Task<string>
Public Overrides Function ReadLineAsync () As Task(Of String)

Возвращаемое значение

Задача, представляющая асинхронную операцию чтения. Значение параметра TResult содержит следующую строку из средства чтения строк или значение null, если все знаки считаны.

Атрибуты

Исключения

Число символов в следующей строке больше, чем Int32.MaxValue.

Удалено средство чтения строки.

Модуль чтения в настоящее время используется предыдущей операцией чтения.

Примеры

В следующем примере показано, как асинхронно считывать строку из строки за раз.

using System;
using System.IO;
using System.Text;

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

        static async void ReadCharacters()
        {
            StringBuilder stringToRead = new StringBuilder();
            stringToRead.AppendLine("Characters in 1st line to read");
            stringToRead.AppendLine("and 2nd line");
            stringToRead.AppendLine("and the end");

            string readText;

            using (StringReader reader = new StringReader(stringToRead.ToString()))
            {
                while ((readText = await reader.ReadLineAsync()) != null)
                {
                    Console.WriteLine(readText);
                }
            }
        }
    }
}
// The example displays the following output:
//
// Characters in 1st line to read
// and 2nd line
// and the end
//
Imports System.IO
Imports System.Text

Module Module1

    Sub Main()
        ReadCharacters()
    End Sub

    Async Sub ReadCharacters()
        Dim stringToRead = New StringBuilder()
        stringToRead.AppendLine("Characters in 1st line to read")
        stringToRead.AppendLine("and 2nd line")
        stringToRead.AppendLine("and the end")

        Using reader As StringReader = New StringReader(stringToRead.ToString())
            Dim readText As String = Await reader.ReadLineAsync()
            While Not IsNothing(readText)
                Console.WriteLine(readText)
                readText = Await reader.ReadLineAsync()
            End While
        End Using
    End Sub
End Module
' The example displays the following output:
'
' Characters in 1st line to read
' and 2nd line
' and the end
'

Комментарии

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые ReadLine().

Применяется к

ReadLineAsync(CancellationToken)

Исходный код:
StringReader.cs
Исходный код:
StringReader.cs
Исходный код:
StringReader.cs

Асинхронно выполняет чтение строки символов из текущей строки и возвращает данные в виде строки.

public:
 override System::Threading::Tasks::ValueTask<System::String ^> ReadLineAsync(System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.ValueTask<string?> ReadLineAsync (System.Threading.CancellationToken cancellationToken);
override this.ReadLineAsync : System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<string>
Public Overrides Function ReadLineAsync (cancellationToken As CancellationToken) As ValueTask(Of String)

Параметры

cancellationToken
CancellationToken

Токен для отслеживания запросов отмены.

Возвращаемое значение

Задача для значения, представляющая асинхронную операцию чтения. Значение TResult параметра содержит следующую строку из средства чтения строк или значение , null если все символы были прочитаны.

Исключения

Число символов в следующей строке больше, чем Int32.MaxValue.

Удалено средство чтения строки.

Модуль чтения в настоящее время используется предыдущей операцией чтения.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые ReadLine().

Применяется к