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

ナビゲーションに移動 検索に移動
128行目: 128行目:
<br>
<br>
  <syntaxhighlight lang="c#">
  <syntaxhighlight lang="c#">
// 同期処理
  using System;
  using System;
  using System.Text;
  using System.Text;
168行目: 170行目:
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
以下の例では、上記の例を非同期で行っている。<br>
非同期処理は、I/O操作が頻繁に行われる場合、または、ユーザインターフェースの応答性を維持する必要がある場合に特に有効である。<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改行を含む\"");
          }
      }
      catch (Exception ex)
      {
          Console.WriteLine("書き込みエラー: " + ex.Message);
      }
    }
}
</syntaxhighlight>
<br>
==== CSVファイルの書き込み ====
==== CSVファイルの書き込み ====
===== 使用例 =====
===== 使用例 =====

案内メニュー