アカウント名:
パスワード:
個人的には、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やスイッチなしでオッケーです。
static void Main(){ (省略) string inputOrder = Console.ReadLine(); inputOrder = inputOrder.ToUpper();
// switch式は使ってるけど var resultCode = inputOrder switch { "A" => modeA(), "B" => modeB(),
ディクショナリに関数を入れるのを考えてました。C#だとちょっと冗長気味な記述になりますが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
||や&&は分岐、|や&は演算 (スコア:0)
個人的には、modeA()、modeB()、modeC()、modeD()を常にtrueを返す関数に書き換えて、
にしたくなる。余計な改行が入っていまうけど。
もっとも、今どきのナウい言語を使えば、inputOrderは1回だけ書けばいいし、比較演算子もいらない
{}省略するのやめようよ (スコア:0)
過剰に難読性を上げるのはやめてください。
個人的には事前に入力を大文字か小文字に統一しますね。それやると演習問題の意味がなくなりますが。
組み込みだとアンドを取って、見たいフラグ以外をマスクしたりする。
ナウい言語のやり方が何を指すのかについての私の認識が100%正しい確信はありません。がシーシャープはナウい言語なのでifやスイッチなしでオッケーです。
こんな感じかなぁ (スコア:0)
static void Main()
{
(省略)
string inputOrder = Console.ReadLine();
inputOrder = inputOrder.ToUpper();
// switch式は使ってるけど
var resultCode = inputOrder switch
{
"A" => modeA(),
"B" => modeB(),
Re: (スコア:0)
ディクショナリに関数を入れるのを考えてました。
C#だとちょっと冗長気味な記述になりますが。