C# File.ReadLines, Use foreach Over Strings

Invoke the File.ReadLines method from System.IO and loop over each line as a string.
File.ReadLines. This method reads lines on demand. We use it in a foreach-loop, looping over each line as a string. The program reads in another line before each iteration of the foreach-loop.File
To begin, this program calls the File.ReadLines method in the foreach loop iteration block. The File.ReadLines method is only called once. Then the IEnumerable<string> is used to pull in more data.

Print: The program successfully prints the data found in the file.txt file in the C directory.

Important: With File.ReadLines, the foreach-loop is the best syntax as it avoids copying the IEnumerable to another collection in memory.

C# program that uses File.ReadLines using System; using System.IO; class Program { static void Main() { // Read in lines from file. foreach (string line in File.ReadLines("c:\\file.txt")) { Console.WriteLine("-- {0}", line); } } } Output -- Line1 -- Line2 -- Line3 -- Another line. -- Last line.
ReadAllLines. ReadLines and ReadAllLines are implemented differently. ReadLines uses an enumerator to read each line only as needed. On the other hand, ReadAllLines reads the entire file into memory and then returns an array of those lines.
If the file is large, the File.ReadLines method is useful because it will not need to keep all the data in memory at once. Also, if your program exits the loop early, the File.ReadLines is better because no further IO will be needed.

Thus: The File.ReadAllLines method is best if you need the entire array. An example of it is available.

Summary. The File.ReadLines method is similar to using the StreamReader type and the ReadLine method in a loop. It is a different interface to that functionality. With it, you can use a simple foreach loop to read in an entire file line-by-line.
Dot Net Perls
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to