C# 计算文本中没有空行的行数

C# 计算文本中没有空行的行数,c#,C#,我正在使用下一个代码来计算文本中的行数。 工作很好,但我不想数空行。 我如何才能做到这一点,但保存当前的代码格式 var lineCount = 0; using (var readerlines = File.OpenText(strfilename)) { while (readerlines.ReadLine() != null) { lineCount++; } } 您可以这样尝试: int lineCount = File.ReadLines(

我正在使用下一个代码来计算文本中的行数。 工作很好,但我不想数空行。 我如何才能做到这一点,但保存当前的代码格式

var lineCount = 0;
using (var readerlines = File.OpenText(strfilename))
{
    while (readerlines.ReadLine() != null)
    {
        lineCount++;
    }
}
您可以这样尝试:

int lineCount = File.ReadLines(@"yourfile.txt")
                    .Count(line => !string.IsNullOrWhiteSpace(line));
您可以这样尝试:

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

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

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

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

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

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;
或者这个:

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;

我建议使用LINQ并使用
string.IsNullOrWhiteSpace
。我建议使用LINQ并使用
string.IsNullOrWhiteSpace
。第一个示例(在单词equals上)有一个错误,第二个示例的行号错误(非常低)@CobyAbutbul有什么错误?@CobyAbutbul nevermined,应该等于大写字母,它工作得很好。谢谢,第一个例子(在单词equals上)有一个错误,第二个给了我错误的行号(非常低)@CobyAbutbul有什么错误?@CobyAbutbul没有终止,应该是大写字母的equals。它工作得很好。谢谢