Example. This example program specifies a file on the disk. ReadAllLines() gets a string array from the file. The string array returned can be used as any other string array.
Then We can use "foreach" or "for" to loop over the file's data in a clean and intuitive way.
Tip This program reads in a file, counts its lines, and counts all chars in each line.
using System;
using System.IO;
class Program
{
static void Main()
{
string[] lines = File.ReadAllLines("C:\\rearrange.txt");
Console.WriteLine("Length: {0}", lines.Length);
Console.WriteLine("First: {0}", lines[0]);
int count = 0;
foreach (string line in lines)
{
count++;
}
int c = 0;
for (int i = 0; i < lines.Length; i++)
{
c++;
}
Console.WriteLine("Count: {0}", count);
Console.WriteLine("C: {0}", c);
}
}Length: 430
First: /_1=D1
Count: 430
C: 430
Implementation. File.ReadAllLines() uses a List and the StreamReader type, and then ToArray, to return the array. This is inefficient if you want to put a file into a List.
And Using lower-level file-handling methods (and avoiding a large array) could help speedup the IO here.
Notes, optimize. If you need to optimize a File.ReadAllLines call, you could estimate the capacity of the List in its constructor. You could also avoid ToArray if you want to keep the List.
A summary. We looked at the File.ReadAllLines method. This is a convenience method that uses StreamReader and List internally. It can cause excess memory use.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on May 26, 2021 (image).