/// <summary> /// The method provides an iterator through all lines of the text reader. /// </summary> /// <param name="reader"> The text reader. </param> /// <returns> The iterator </returns> /// <example> /// <code> /// using(var reader = fileInfo.OpenText()) /// { /// foreach(var line in reader.IterateLines()) /// { /// // ... /// } /// } /// </code> /// </example> /// <remarks> /// Contributed by OlivierJ /// </remarks> public static IEnumerable <String> ReadLines(this TextReader reader) { if (default(TextReader) == reader) { yield return(default(String)); } String line; while (reader.TryReadLine(out line)) { yield return(line); } }