如何使用 c# 读取 csv 或文本文件,并逐行计算该文件的字符数,如果小于 1500,则显示

本文关键字:文件 字符 如果 显示 1500 小于 逐行 读取 何使用 csv 文本 | 更新日期: 2023-09-27 18:37:24

我想使用 c# 读取 csv 或文本文件并逐行计算该文件的字符数,并在行尾显示字符数小于 1500?我可以数字符总数,但我无法逐行数字符数......对于 C# 专家来说,这可能是一个愚蠢的问题,但我刚刚开始使用 C# 编码,我也想知道成为一名精通 C# 编码人员的最佳方式是什么???

如何使用 c# 读取 csv 或文本文件,并逐行计算该文件的字符数,如果小于 1500,则显示

我会使用 LINQ:

var shortLines = File.ReadLines("file.csv")
                     .Where(line => line.Length < 1500);
foreach (var line in shortLines)
{
    // Do whatever you need to
}

请注意,这只会在你迭代shortLines时读取文件,它会流式传输它 - 但这确实意味着如果你迭代shortLines两次,它将读取它两次。如果需要多次遍历这些线路,请在 Where 后调用 ToList

我接受你的问题的意思是你想知道文档的总字符数在哪一行小于 1500:

        string[] lines = File.ReadAllLines("filename.txt");
        int count = 0;
        int line = 0;
        for (; line < lines.Length; line++)
        {
            count += lines[line].Length;
            if (count >= 1500)
            {
                // previous line is < 1500
                Console.WriteLine("Character count < 1500 on line {0}", line - 1);
                Console.WriteLine("Line {0}: {1}", line - 1, lines[line - 1]);
                break;
            }
        }
string completeFile = File.ReadAllText("c:'temp'somefile.txt");
string[] arrayOfLines = completeFile.Split(''n');
foreach(string singleLine in arrayOfLines)
{
    //count
}