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