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


StreamReader.ReadLineAsync Метод

Определение

Перегрузки

ReadLineAsync()

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

ReadLineAsync(CancellationToken)

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

ReadLineAsync()

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.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.

Поток был удален.

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

Примеры

В следующем примере показано, как считать первую строку файла с помощью ReadLineAsync() метода .

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static async Task Main()
        {
            await ReadCharacters();
        }

        static async Task ReadCharacters()
        {
            String result;
            using (StreamReader reader = File.OpenText("existingfile.txt"))
            {
                Console.WriteLine("Opened file.");
                result = await reader.ReadLineAsync();
                Console.WriteLine("First line contains: " + result);
            }
        }
    }
}
Imports System.IO

Module Module1

    Sub Main()
        ReadCharacters()
    End Sub

    Async Sub ReadCharacters()
        Dim result As String

        Using reader As StreamReader = File.OpenText("existingfile.txt")
            Console.WriteLine("Opened file.")
            result = Await reader.ReadLineAsync()
            Console.WriteLine("First line contains: " + result)
        End Using
    End Sub
End Module

Комментарии

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

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

ReadLineAsync(CancellationToken)

Исходный код:
StreamReader.cs
Исходный код:
StreamReader.cs
Исходный код:
StreamReader.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.

Средство чтения потока удалено.

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

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

Комментарии

Если этот метод отменяется с помощью cancellationToken, некоторые данные, которые были считаны из текущего Stream , но не сохранены (с помощью StreamReader) или возвращены (вызывающей объекту), могут быть потеряны.

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

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