Зависит от длины строки ... обычно самый быстрый способ сделать это, используя эту простую формулу - получить длину файла в байтах и разделить на длину строки, например:
const int LINE_LENGTH = 80;
System.IO.FileInfo f = new System.IO.FileInfo(path);
int noLines = f.Length / LINE_LENGTH;
Выше предполагается, что длина строки составляет 80 символов в ширину ...
Если длина переменная, другого способа сделать это нет, кроме открытия файла и итерации по каждой строке и отслеживания количества строк.
Edit:
Я только что понял гораздо более простой способ после того, как я разместил комментарий ниже ..
Разве не было бы проще на самом деле использовать командную консоль в пространстве имен System.Diagnostics.Process
для вызова grep -c "$(\r?\n?|\n)"
с использованием аргумента в качестве пути к рассматриваемому файлу - это сделало бы ее более гибкой и может обслуживать любой файл. Единственное, что вам нужно сделать, это прочитать в выходных данных и пересмотреть его, чтобы получить фактическое количество строк, например, используя мой grep, поставляемый с Borland C, я получаю этот вывод
C:\Documents and Settings\Tom>grep -c "$(\r?\n?)" 273.txt
File 273.txt:
35 lines match
Выходные данные и пробег могут отличаться, переключение команды -c
на grep означает 'count of'