Чтение большого файла TXT, исключение нехватки памяти

Я хочу прочитать большой размер файла TXT составляет 500 МБ, сначала я использую

var file = new StreamReader(_filePath).ReadToEnd();  
var lines = file.Split(new[] { '\n' });

но он выбрасывает из памяти Exception, затем я пытался читать построчно, но снова после чтения около 1,5 миллионов строк он выбрасывает из памяти Exception

  using (StreamReader r = new StreamReader(_filePath))
         {            
             while ((line = r.ReadLine()) != null)            
                 _lines.Add(line);            
         }

или я использовал

  foreach (var l in File.ReadLines(_filePath))
            {
                _lines.Add(l);
            }

но опять я получил

Исключение типа «System.OutOfMemoryException» произошло в mscorlib.dll, но не было обработано в коде пользователя

Моя машина - мощная машина с 8 ГБ оперативной памяти, так что это не должно быть проблемой моей машины.

p.s: Я попытался открыть этот файл в NotePadd ++ и получил исключение «файл слишком велик, чтобы его открыть».

Ответы на вопрос(4)

Ваш ответ на вопрос