C# を使用して csv ファイルまたはテキスト ファイルを読み取り、そのファイルの行ごとに文字をカウントし、1500 未満の文字数の行の最後に表示したいですか? 文字の総数を数えることはできますが、行ごとの文字数を数えることはできません...C# の専門家にとってはばかげた質問かもしれませんが、C# でコーディングを始めたばかりなので、熟練した C# コーダーになるための最良の方法???
1720 次
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 回反復処理すると、shortLines
2 回読み取られることになります。これらの行を複数回繰り返す必要がある場合は、ToList
afterを呼び出します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 に答える