English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C#は多くの決定文を提供しており、これらは特定の論理条件に基づいてC#プログラムの流れを助けます。ここでは、if、else if、else、およびネストされたif else文について学びます。これにより、条件に基づいて流れを制御できます。
C#には以下のようなif文があります:
if文
else-if文
else文
if文はブール条件を含み、その後、実行する単一行または複数行のコードブロックが続きます。実行時には、ブール条件がtrueと評価されると、コードブロックが実行されますが、falseの場合は実行されません。
if(condition) { //if 条件が真の時に実行するコードブロック }
int i = 10, j = 20; if (i < j) { else if(i > j) } if(i > j) { else{ }
iがjより小さい
上記の例では、最初のif文のブール条件i < jがtrueと評価され、したがってC#コンパイラは以下のコードブロックを実行します。次のif文の条件i > jがfalseと評価されるため、コンパイラはそのコードブロックを実行しません。
条件表現式はブール値を返さなければなりません。それでなければ、C#コンパイラはコンパイル時エラーを出します。
int i = 10, j = 20; if(i + 1) { Console.WriteLine("i is less than j"); } if(i + j) { Console.WriteLine("i is greater than j"); }
if文内で布尔値を返す関数を呼び出すことができます。
static void Main(string[] args) { int i = 10, j = 20; if(isGreater(i, j)) { Console.WriteLine("i is less than j"); } if(isGreater(j, i)) { Console.WriteLine("j is greater than i"); } } static bool isGreater(int i, int j) { return i > j; }
if文の後で複数のelse if文を使用できます。これは、if条件の計算結果がfalseの時にのみ実行されます。したがって、if文またはelse if文のいずれかが実行されることができますが、同時に両方が実行されることはありません。
if(condition1) { //if(condition1がtrueと評価されたときに実行されるコードブロック } else if(condition2) { // どこで実行されるコードブロック // condition1がflaseと計算されます // condition2がtrueと計算されます } else if(condition3) { // どこで実行されるコードブロック // condition1がflaseと計算されます // condition2がfalseと計算されます // condition3がtrueと計算されます }
以下の例ではelse if文を示します。
int i = 10, j = 20; if(i == j) { Console.WriteLine("iがjに等しい"); } else if(i > j) { else{ } else if(i < j) { else if(i > j) }
iがjより小さい
else文はifまたはelse ifの後でのみ現れることができ、if-else文は一度だけ使用できます。else文は、前のすべてのifおよびelse ifの計算結果がfalseの時にのみ実行されます。
int i = 20, j = 20; if(i > j) { Console.WriteLine("i 大于 j"); } else if(i < j) { Console.WriteLine("i 小于 j"); } else { Console.WriteLine("i 等于 j"); }
iがjに等しい
Cは別のifをサポートしています-else文内のif-else文。これはネストされたifと呼ばれます-else文。ネストされたif文はコードの可読性を向上させます。
if(condition1) { if(condition2) { // どこで実行されるコードブロック // condition1とcondition2がtrueと計算されます } else if(condition3) { if(condition4) { // どこで実行されるコードブロック // のみcondition1、condition3とcondition4の計算結果はtrueです } else if(condition5) { // どこで実行されるコードブロック // のみcondition1、condition3とcondition5の計算結果はtrueです } else { // どこで実行されるコードブロック // condition1とcondition3がtrueと評価されます // condition4とcondition5の計算結果はfalseです } } }
以下の例では、ネストされたif else文を示しています。
int i = 10, j = 20; if(i != j) { { else if(i > j) } { else{ } } Console.WriteLine("iがjに等しい"); }
iがjより小さい
三項演算子?:を使用して単純なif else文を置き換える。