【Unity】C#構文:switchとif
switch文とif文で…
C#の場合、「switch」文では、変数の一致判定しかできず、
VBの「SelectCase」文のような、複数条件や範囲条件、
比較条件などを組み合わせた柔軟な判定ができません。
つまり、「if」文よりも多枝分岐に向いているとはいえ、
分岐が多い場合、条件を組み合わせた判定ができず、
「if・・・else if・・・else」文でも同様の多枝分岐が可能です。
①実行コードに重複がない場合
・switch文①
switch (変数) {
case 値A:
実行コードA;
break;
case 値B:
実行コードB;
break;
default:
実行コードZ;
break;
}
・if文①
if (変数 == 値A) {
実行コードA;
} else if (変数 == 値B) {
実行コードB;
} else {
実行コードZ;
}
②実行コードに重複がある場合
・switch文②
switch (変数) {
case 値A:
実行コードA;
break;
case 値B:
case 値C:
実行コードB+C;
break;
default:
実行コードZ;
break;
}
・if文②
if (変数 == 値A) {
実行コードA;
} else if (変数 == 値B || 変数 == 値C) {
実行コードB+C;
} else {
実行コードZ;
}








