C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■86505 / )  Re[4]: LIST内容をファイル出力したい
□投稿者/ 774RR (594回)-(2018/02/07(Wed) 10:56:42)
オイラが先生なら 86502 のコードは減点ありだ。だって List (の内容)を出力してないもん。
出力しているのは List に追加する前の内容だ。

でもまずは思ったとおりのことが実装できたというのは大きな進歩で、
なんとなくかっこ悪いとか美しくないとか思うのは更なる改善の入口で、良いことだ。

86502 のコードがかっこ悪いのは「入力」と「出力」が混在していることで、分離するときれいになる。
もう「関数化」学んでいる?学んでいるなら

static void Main()
{
    List<string> lunch = new List<string>();
    InputMenu(lunch); // 入力してリストに追加
    OutputMenu(lunch); // リストを出力
}

のように書いてみよう。これで入力と出力は完全に分離されたわけだ。
その上で InputMenu と OutputMenu を実装してみると良いだろう。

期待されている「出力部」はたぶんこういう実装であろうと思われる。

static void OutputMenu(List<string> lunch)
{
    using (StreamWriter sw = new StreamWriter(@"menu_list.text", true))
    {
        foreach (string s in lunch)
        {
            sw.WriteLine(s);
        }
    }
}

入力部を自分で書いてみると良いだろう。

返信 編集キー/


管理者用

- Child Tree -