パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

C#学習 9」記事へのコメント

  • 個人的には、modeA()、modeB()、modeC()、modeD()を常にtrueを返す関数に書き換えて、

    Console.WriteLine((((inputOrder == "A" || inputOrder == "a") && modeA()) ||
    ((inputOrder == "B" || inputOrder == "b") && modeB()) ||
    ((inputOrder == "C" || inputOrder == "c") && modeC()) ||
    ((inputOrder == "D" || inputOrder == "d") && modeD())) ? "" : "error 終了します");

    にしたくなる。余計な改行が入っていまうけど。

    もっとも、今どきのナウい言語を使えば、inputOrderは1回だけ書けばいいし、比較演算子もいらない

    • 過剰に難読性を上げるのはやめてください。
      個人的には事前に入力を大文字か小文字に統一しますね。それやると演習問題の意味がなくなりますが。
      組み込みだとアンドを取って、見たいフラグ以外をマスクしたりする。
      ナウい言語のやり方が何を指すのかについての私の認識が100%正しい確信はありません。がシーシャープはナウい言語なのでifやスイッチなしでオッケーです。

      • by Anonymous Coward

        static void Main()
        {
                (省略)
                string inputOrder = Console.ReadLine();
                inputOrder = inputOrder.ToUpper();

                // switch式は使ってるけど
                var resultCode = inputOrder switch
                {
                        "A" => modeA(),
                        "B" => modeB(),
               

※ただしPHPを除く -- あるAdmin

処理中...