StringReader.ReadLineAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
ReadLineAsync() |
从当前字符串中异步读取一行字符并将数据作为字符串返回。 |
ReadLineAsync(CancellationToken) |
从当前字符串中异步读取一行字符并将数据作为字符串返回。 |
ReadLineAsync()
- Source:
- StringReader.cs
- Source:
- StringReader.cs
- Source:
- 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)
- Source:
- StringReader.cs
- Source:
- StringReader.cs
- Source:
- 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()异常。