質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

4回答

1134閲覧

switch文において

Koopa

総合スコア28

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2018/09/23 14:38

switch文においてどれか一つに当てはまった場合必ず実行し、(指定まで出来ればしたいですが)
そうでないとき実行しないコードを作成する上でいい案があればお願いします。


今はとりあえず下の通りなんですが絶対もっといいのあるでしょって思う

C#

1switch(num) 2{ 3 case 1: 4  //処理1 5  break; 6 case 2: 7  //処理2 8  break; 9 case 3: 10  //処理3 11  break; 12} 13if (new []{1, 2, 3}.Contains(num)) 14 { 15 //処理4 16 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

C#

1switch(num) 2{ 3 case 1: 4  //処理1 5  break; 6 case 2: 7  //処理2 8  break; 9 case 3: 10  //処理3 11  break; 12 default: 13 return; 14}

で。

投稿2018/09/23 14:45

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Koopa

2018/09/24 00:31

…それだとただのswitch文なんじゃ。それにdefault:return;なら省略したほうが処理が速いはずです。
Zuishin

2018/09/24 00:36

switch 文以降に処理 4 があるのでしょう。 それなら return で処理 4 を実行しないことになります。
Koopa

2018/09/24 01:43 編集

あ、なるほど そういうことですか!理解しました失礼しました
guest

0

C#

1bool flag = true; 2switch(num) 3{ 4 case 1: 5  //処理1 6  break; 7 case 2: 8  //処理2 9  break; 10 case 3: 11  //処理3 12  break; 13 default: 14 flag = false; 15 break; 16} 17if (flag) 18 { 19 //処理4 20 }

投稿2018/09/23 15:49

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

私の好みとしてはこうかな?

C#

1Action process4 = () => 2{ 3 // 処理 4 4}; 5 6switch (num) 7{ 8 case 1: 9 //処理1 10 process4(); 11 break; 12 case 2: 13 //処理2 14 process4(); 15 break; 16 case 3: 17 //処理3 18 process4(); 19 break; 20}

投稿2018/09/24 01:29

編集2018/09/24 01:33
hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

何の工夫もなくflagで分岐しちゃいかんのだろうか?

C#

1bool NeedToDoProc4 = true; //処理4やるフラグ 2switch( num ) 3{ 4//(caseの記述省略) 5default: 6 NeedToDoProc4 = false; //caseに当てはまらないならフラグおろす 7 break; 8} 9if( NeedToDoProc4 ) 10{ 11 //処理4 12}

投稿2018/09/23 16:00

fana

総合スコア11634

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2018/09/23 16:01

かぶった…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問