Правильный способ определения количества строк в файле в .NET - PullRequest
1 голос
/ 16 февраля 2010

Этот вопрос действительно прост, и, вероятно, вы. NET гуру теперь ответ =)

Итак, вот и все ... Как правильно (независимый от языка .NET для определения количества строк (непустой) существует в текстовых файлах без проверки, пока строка не пуста (Мой текущий подход)

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 16 февраля 2010

Заимствование от здесь :

var lineCount = 0;
using (var reader = File.OpenText(@"C:\file.txt"))
{
    while ((string line = reader.ReadLine()) != null)
    {
        if (line.Length > 0) lineCount++;
    }
}
2 голосов
/ 16 февраля 2010
var path = @"C:\file.txt";
var lines = File.ReadAllLines(path);
var lineCount = lines.Count(s => s != "");

Или, чуть менее читаемый, все сразу:

var lines = File.ReadAllLines(@"C:\file.txt").Count(s => s != "");
1 голос
/ 16 февраля 2010

Файл считывается как поток, поэтому вы должны прочитать все это, чтобы определить, что вы пытаетесь.

Вы можете сканировать байты или выполнить ReadToEnd в FileReader, чтобы получить строковое представление, найти экземпляры Environment.NewLine и сосчитать их.

Если вы читаете файл в строку, вы получаете дополнительное преимущество, заключающееся в возможности использовать классы Regex для подсчета совпадений вашей среды. NewLine

EDIT Мне нравится идея cxfx об использовании File.ReadAllLines и использовании результирующей длины

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...