StreamReader.ReadLineAsync 方法

定义

重载

ReadLineAsync()

从当前流中异步读取一行字符并将数据作为字符串返回。

ReadLineAsync(CancellationToken)

从当前流中异步读取一行字符并将数据作为字符串返回。

ReadLineAsync()

Source:
StreamReader.cs
Source:
StreamReader.cs
Source:
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)

Source:
StreamReader.cs
Source:
StreamReader.cs
Source:
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()异常。

适用于