制御構文をマスターする (2/5)
作成:2013-07-27 11:00
更新:2013-07-27 11:00
更新:2013-07-27 11:00
■値に応じていくらでも分岐する「switch」
if文は基本的に「正しいか否か」という二者択一の分岐でしたが、値をチェックしていくらでも分岐を作成できるのが「switch」という構文です。これは以下のように記述します。
・switch文の基本形
switchの後の()内に、値が保管されている変数などを指定します。C#はこの値をチェックし、それと同じ値のcaseにジャンプをします。実行後、最後にあるbreak;までくると構文を抜けて次へと進みます。このswitchには、構文を抜け出すという働きはないため、必ずcaseに書いた処理の最後でbreakを用意する必要があります。
指定した値のcaseが見つからない場合は、最後のdefaultにジャンプします。これはオプションで、省略することも可能です。その場合、caseが見つからなければ何もせずに次へと進みます。
下に簡単な利用例を挙げておきます。変数sの値に応じてメッセージを表示するものです。サンプルでは、"hello"と設定されているため、「Hi!」と表示されます。変数sの値を"ok"にすれば、「OK!」と表示されます。
・switch文の基本形
switch ( 値となるもの )
{
case 値1:
……実行する処理……
break;
calse 値2:
……実行する処理……
break;
……必要なだけcaseを記述……
default:
……すべて当てはまらないときの処理……
break;
}
switchの後の()内に、値が保管されている変数などを指定します。C#はこの値をチェックし、それと同じ値のcaseにジャンプをします。実行後、最後にあるbreak;までくると構文を抜けて次へと進みます。このswitchには、構文を抜け出すという働きはないため、必ずcaseに書いた処理の最後でbreakを用意する必要があります。
指定した値のcaseが見つからない場合は、最後のdefaultにジャンプします。これはオプションで、省略することも可能です。その場合、caseが見つからなければ何もせずに次へと進みます。
下に簡単な利用例を挙げておきます。変数sの値に応じてメッセージを表示するものです。サンプルでは、"hello"と設定されているため、「Hi!」と表示されます。変数sの値を"ok"にすれば、「OK!」と表示されます。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
string s = "hello"; switch (s) { case "ok": Console.WriteLine( "OK!"); break; case "hello": Console.WriteLine("Hi!"); break; case "bye": Console.WriteLine( "good bye..."); break; default: Console.WriteLine("???"); break; }
※関連コンテンツ