【Unity】C#構文:switchとif

2019-08-31

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;
}