public static IEnumerable <string> ReadLines(this TextReader reader) { reader.CheckArgumentNull(nameof(reader)); for (string line; ((line = reader.ReadLine()) != null);) { yield return(line); } }
public static Task <string[]> ReadLinesAsync(this TextReader reader) { IEnumerable <Task <string> > GetAsyncLines() { for (Task <string> line; ((line = reader.ReadLineAsync()) != null);) { yield return(line); } } reader.CheckArgumentNull(nameof(reader)); return(Task.WhenAll(GetAsyncLines())); }