C# での CSV ファイルの書き込み: 上書きの問題の解決
C# で CSV ファイルを作成する場合、最後の行しか書き込まれないというよくある問題があります。これは、ループを繰り返すたびにファイル内の既存のコンテンツが上書きされるためです。
この問題を解決するには、CSV ファイルを上書きするのではなく、各行を CSV ファイルに追加する必要があります。これを行うには、StringBuilder オブジェクトを作成し、ループ内でそれに新しい行を追加します。ループが完了すると、StringBuilder の内容全体が CSV ファイルに書き込まれます。
以下は修正された関数の例です:
<code class="language-csharp">var csv = new StringBuilder(); string first = reader[0].ToString(); string second = image.ToString(); csv.AppendLine(string.Format("{0},{1}", first, second)); File.WriteAllText(filePath, csv.ToString());</code>
代わりに、File.AppendAllText メソッドを使用することもできます:
<code class="language-csharp">string newLine = string.Format("{0},{1}", first, second); File.AppendAllText(filePath, newLine);</code>
これにより、既存のファイルの内容が上書きされることなく、新しい行が追加されます。
CSV ファイルを記述するもう 1 つの方法は、CsvHelper ライブラリを使用することです。このライブラリは、型変換、文字列エスケープ、および CSV ファイルに関連するその他の複雑さを処理することにより、このプロセスを簡素化します。
以上がC# で CSV ファイルにデータを書き込むときに上書きを防ぐ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。