最初の質問なので、関連性があることを願っています。コーディングはそれほど新しくありませんが...私は「良い」コーディングにはかなり慣れていないので、明らかなベストプラクティスを完全に認識していない場合は申し訳ありません。
現在、CSVファイルに行ごとに書き込んでいます(c#を使用)。
今朝、私がコードを書いている部門が実際にすべての行を1つのファイルに入れたいと言われるまで、これはすべて順調でした(私はバッチごとにファイルを実行し、バッチレベルでエラーチェックを行っていたので、バッチに問題があり、エクスポートされたバッチはありません)
彼らはまだバッチレベルですべてかゼロである必要があります(そして、ファイルに書き込もうとする前に「セル」の値をチェックしているので、その段階が機能するはずです)が、私の一部がファイルの書き込みを開始する前に現在動作を確認できないコードは、行書き込みそのものです。そして、最初の行でファイルが適切に作成/アクセスされていると仮定すると、個々の行が書き込みに失敗する可能性はどのくらいあるのでしょうか? 次に、これが問題になる可能性がある場合、問題を簡単に (または排除する) ために知っておくべき「ベストプラクティス」はありますか?
以下のコードは、書き込みが必要なバッチ内の各行に対して呼び出します。
public void WriteRow(CsvRow row)
{
StringBuilder builder = new StringBuilder();
bool firstColumn = true;
foreach (string value in row)
{
// Add separator if this isn't the first value
if (!firstColumn)
builder.Append(',');
// Implement special handling for values that contain comma or quote
// Enclose in quotes and double up any double quotes
if (value.IndexOfAny(new char[] { '"', ',' }) != -1)
builder.AppendFormat("\"{0}\"", value.Replace("\"", "\"\""));
else
builder.Append(value);
firstColumn = false;
}
row.LineText = builder.ToString();
WriteLine(row.LineText);
}