1

C# を使用して csv ファイルまたはテキスト ファイルを読み取り、そのファイルの行ごとに文字をカウントし、1500 未満の文字数の行の最後に表示したいですか? 文字の総数を数えることはできますが、行ごとの文字数を数えることはできません...C# の専門家にとってはばかげた質問かもしれませんが、C# でコーディングを始めたばかりなので、熟練した C# コーダーになるための最良の方法???

4

3 に答える 3

3

私はLINQを使用します:

var shortLines = File.ReadLines("file.csv")
                     .Where(line => line.Length < 1500);

foreach (var line in shortLines)
{
    // Do whatever you need to
}

これは、 を反復処理したときにのみファイルを読み取り、shortLinesそれをストリーミングすることに注意てください。ただし、2 回反復処理すると、shortLines2 回読み取られることになります。これらの行を複数回繰り返す必要がある場合は、ToListafterを呼び出しますWhere

于 2012-06-15T13:35:30.230 に答える
0

私はあなたがどの行でドキュメントの総文字数が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;
            }
        }
于 2012-06-15T13:53:26.827 に答える
0
string completeFile = File.ReadAllText("c:\temp\somefile.txt");

string[] arrayOfLines = completeFile.Split('\n');

foreach(string singleLine in arrayOfLines)
{
    //count
}
于 2012-06-15T13:29:26.690 に答える