Вы можете использовать StreamReader :
using (var reader = File.OpenText("foo.txt"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
// do something with the line
}
}
Этот метод читает текстовый файл построчно (где Environment.NewLine используется в качестве разделителя строк), и в память загружается только текущая строка, поэтому его можно использовать для чтения очень больших файлов.
Если вы просто хотите загрузить все строки небольшого текстового файла в память, вы также можете использовать метод ReadAllLines :
string[] lines = File.ReadAllLines("foo.txt");
// the lines array will contain all the lines
// don't use this method with large files
// as it loads the entire contents into memory