Example #1
0
        /// <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);
            }
        }