计算文本中的行没有空的liines

时间:2016-01-21 11:55:52

标签: c#

我正在使用下一个代码来计算我拥有的文本中的行数。 它工作正常,但我不想算空行。 我怎么能这样做,但是保存了当前的代码格式?

var lineCount = 0;
using (var readerlines = File.OpenText(strfilename))
{
    while (readerlines.ReadLine() != null)
    {
        lineCount++;
    }
}

3 个答案:

答案 0 :(得分:4)

您可以尝试这样:

int lineCount = File.ReadLines(@"yourfile.txt")
                    .Count(line => !string.IsNullOrWhiteSpace(line));

答案 1 :(得分:2)

检查该行是否不是空字符串

var lineCount = 0;
string line = string.Empty;
using (var readerlines = File.OpenText(strfilename))
{
    while ((line = readerlines.ReadLine()) != null)
    {
        if (!line.Equals(string.Empty))
        {
            lineCount++;
        }   
    }
}

答案 2 :(得分:0)

或者这个:

string data = File.ReadAllText(strfilename);
string[] lines = data.Split(new char[] {'\n' }, StringSplitOptions.RemoveEmptyEntries);
int line_count = lines.Length;

简而言之:

int line_count = File.ReadAllText(strfilename).Split(new char[] {'\n' }, StringSplitOptions.RemoveEmptyEntries).Length;