「C Sharpの基礎 - CSVファイル」の版間の差分

ナビゲーションに移動 検索に移動
274行目: 274行目:
             writer.WriteLine("値4,\"値5,カンマを含む\",値6");
             writer.WriteLine("値4,\"値5,カンマを含む\",値6");
             writer.WriteLine("値7,値8,\"値9\n改行を含む\"");
             writer.WriteLine("値7,値8,\"値9\n改行を含む\"");
          }
      }
      catch (Exception ex)
      {
          Console.WriteLine("書き込みエラー: " + ex.Message);
      }
    }
}
</syntaxhighlight>
<br>
以下の例では、上記の例を非同期で処理している。<br>
<br>
<syntaxhighlight lang="c#">
// 非同期処理
using System;
using System.Text;
using System.IO;
using System.Threading.Tasks;
class CSVParser
{
    static async Task Main()
    {
      string outputFile = "sample.txt";
      await WriteCSVAsync(outputFile);
    }
    static async Task WriteCSVAsync(string outputFile)
    {
      try
      {
          using (StreamWriter writer = new StreamWriter(outputFile, false, Encoding.GetEncoding("Shift_JIS")))
          {
            // ヘッダ行を書き込む
            await writer.WriteLineAsync("列1,列2,列3");
            // レコード行を書き込む
            await writer.WriteLineAsync("値1,値2,値3");
            await writer.WriteLineAsync("値4,\"値5,カンマを含む\",値6");
            await writer.WriteLineAsync("値7,値8,\"値9\n改行を含む\"");
           }
           }
       }
       }

案内メニュー