StringReader.ReadLineAsync Method

Definition

Overloads

ReadLineAsync()

Reads a line of characters asynchronously from the current string and returns the data as a string.

ReadLineAsync(CancellationToken)

Reads a line of characters asynchronously from the current string and returns the data as a string.

ReadLineAsync()

Source:
StringReader.cs
Source:
StringReader.cs
Source:
StringReader.cs

Reads a line of characters asynchronously from the current string and returns the data as a string.

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)

Returns

A task that represents the asynchronous read operation. The value of the TResult parameter contains the next line from the string reader, or is null if all the characters have been read.

Attributes

Exceptions

The number of characters in the next line is larger than Int32.MaxValue.

The string reader has been disposed.

The reader is currently in use by a previous read operation.

Examples

The following example shows how to read one line at a time from a string asynchronously.

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
'

Remarks

This method stores in the task it returns all non-usage exceptions that the method's synchronous counterpart can throw. If an exception is stored into the returned task, that exception will be thrown when the task is awaited. Usage exceptions, such as ArgumentException, are still thrown synchronously. For the stored exceptions, see the exceptions thrown by ReadLine().

Applies to

ReadLineAsync(CancellationToken)

Source:
StringReader.cs
Source:
StringReader.cs
Source:
StringReader.cs

Reads a line of characters asynchronously from the current string and returns the data as a string.

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)

Parameters

cancellationToken
CancellationToken

The token to monitor for cancellation requests.

Returns

A value task that represents the asynchronous read operation. The value of the TResult parameter contains the next line from the string reader, or is null if all of the characters have been read.

Exceptions

The number of characters in the next line is larger than Int32.MaxValue.

The string reader has been disposed.

The reader is currently in use by a previous read operation.

The cancellation token was canceled. This exception is stored into the returned task.

Remarks

This method stores in the task it returns all non-usage exceptions that the method's synchronous counterpart can throw. If an exception is stored into the returned task, that exception will be thrown when the task is awaited. Usage exceptions, such as ArgumentException, are still thrown synchronously. For the stored exceptions, see the exceptions thrown by ReadLine().

Applies to