switch caseを利用した条件分岐処理 - C#
C#でswitch case文を使った条件分岐処理を紹介します。
書式
switch(判定する変数)
{
case 値1:
...処理;
break;
case 値2:
...処理;
break;
...
default:
...処理;
break;
}
「判定する変数」の値をcase文で判定し、条件と一致する場合はcaseに続く処理を実行します。どの条件にも当てはまらなかった場合は、default:ブロック内の処理を実行します。C#ではcaseブロックの中にbreak,returnといったswitch文から抜ける記述が必須です(C,C++はなくても良い)。break,returnがない場合はコンパイルエラーとなります。
例1
コード
private void button6_Click(object sender, EventArgs e)
{
int a = 2;
switch (a) {
case 0:
textBox1.Text = "0です";
break;
case 1:
textBox1.Text = "1です";
break;
case 2:
textBox1.Text = "2です";
break;
case 3:
textBox1.Text = "3です";
break;
default:
textBox1.Text = "それ以外です";
break;
}
}
実行結果 (textBox1)
例2: 文字列での判定
C#ではCaseにintなどの整数型や順序型以外の型も指定できます。以下は文字列によるcaseの分岐例です。
コード
private void button7_Click(object sender, EventArgs e)
{
string str = "Penguin";
switch (str) {
case "Whale":
textBox1.Text = "クジラです";
break;
case "Duck":
textBox1.Text = "アヒルです";
break;
case "Penguin":
textBox1.Text = "ペンギンです";
break;
default:
textBox1.Text = "それ以外です";
break;
}
}
実行結果(textBox1)
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用