developer's diary

最近はc#のエントリが多いです

【課題】C# (dotnetcore) CSVファイルを永続化に利用したコンソールアプリの作成

本エントリは、以下のようなコンソールアプリで、データの保存にCSVを使うというプログラミングの課題です。

f:id:mitsugi-bb:20200912231707g:plain

仕様

起動時に永続化したデータを読み込み、以下のコマンドを受け付ける

exitを選ぶまで、説明→コマンド→説明→コマンドの繰り返し(無限ループ)

CSVファイルは単純なカンマ区切りで良いものとする。 (名前と電話番号を登録する仕組みなので、改行やカンマが含まれることは無いため、単純なカンマ区切りで良い)

コマンド 説明
list 登録したデータの一覧表示
add 追加モード(名前と電話番号を登録)
init 初期化
exit 終了

動作の流れ

  1. 起動時に、CSVファイルを読み込み、メモリに退避
  2. 無限ループ
    1. コマンドの説明を表示
    2. コマンドを読み込む
    3. listの場合
      1. メモリ領域の内容を表示
    4. addの場合
      1. 追加項目を入力してもらう
      2. メモリに内容を追加
      3. メモリの内容をファイルに書き込む
    5. initの場合
      1. ファイルの削除
    6. exitの場合
      1. プログラム終了

利用する部品

  • while (true) {} (無限ループ)
  • Console.WriteLine
  • Console.ReadLine
  • System.IO.StreamReader
  • System.IO.StreamWriter
  • String.Join メソッド
  • String.Split メソッド

解答

mitsugeek.net