C#(シーシャープ)における条件文(条件式)は、プログラムのフローを制御するために非常に重要な役割を担っています。これらの文を使用すると、特定の条件に基づいて異なる処理を実行することができます。C#の条件文には、主に「if」「else if」「else」「switch」「ternary(条件演算子)」などがあります。この記事では、これらの条件文について詳細に説明し、実際の使用方法を解説します。
1. if文
「if」文は、最も基本的な条件文であり、指定された条件が真(true)の場合にのみ、特定のコードブロックを実行します。条件が偽(false)の場合は、そのコードブロックはスキップされます。
構文:
csharpif (条件)
{
// 条件が真のときに実行されるコード
}
使用例:
csharpint number = 10;
if (number > 5)
{
Console.WriteLine("5より大きい");
}
この例では、numberが5より大きい場合に「5より大きい」と表示されます。
2. else文
「else」文は、if文の条件が偽であった場合に実行されるコードを指定します。if文に対応するelse文を使用することで、条件が満たされない場合の処理を記述できます。
構文:
csharpif (条件)
{
// 条件が真のときに実行されるコード
}
else
{
// 条件が偽のときに実行されるコード
}
使用例:
csharpint number = 3;
if (number > 5)
{
Console.WriteLine("5より大きい");
}
else
{
Console.WriteLine("5以下");
}
この例では、numberが5以下であるため、「5以下」と表示されます。
3. else if文
複数の条件をチェックするためには、else if文を使用します。これにより、最初のif条件が偽である場合に、次の条件をチェックすることができます。複数の条件を順に評価し、最初に一致するものに対応するコードブロックが実行されます。
構文:
csharpif (条件1)
{
// 条件1が真の場合の処理
}
else if (条件2)
{
// 条件2が真の場合の処理
}
else
{
// 条件1と条件2が偽の場合の処理
}
使用例:
csharpint number = 10;
if (number < 5)
{
Console.WriteLine("5より小さい");
}
else if (number == 10)
{
Console.WriteLine("10です");
}
else
{
Console.WriteLine("5より大きい");
}
この場合、numberは10なので「10です」と表示されます。
4. switch文
switch文は、ある変数や式の値に基づいて複数のケースを処理するための構文です。switch文を使用すると、if文よりも直感的に多くの条件分岐を管理できます。
構文:
csharpswitch (式)
{
case 値1:
// 値1に一致した場合の処理
break;
case 値2:
// 値2に一致した場合の処理
break;
default:
// どのケースにも一致しない場合の処理
break;
}
使用例:
csharpint number = 3;
switch (number)
{
case 1:
Console.WriteLine("1です");
break;
case 2:
Console.WriteLine("2です");
break;
case 3:
Console.WriteLine("3です");
break;
default:
Console.WriteLine("その他の値");
break;
}
この例では、numberが3なので「3です」と表示されます。
5. 条件演算子(Ternary Operator)
条件演算子(? :)は、if文とelse文を1行で書くためのショートカットです。簡単な条件チェックを行う場合に便利です。
構文:
csharp条件 ? 真の場合の値 : 偽の場合の値;
使用例:
csharpint number = 7;
string result = (number > 5) ? "5より大きい" : "5以下";
Console.WriteLine(result);
この場合、numberが5より大きいので、「5より大きい」と表示されます。
6. 複合条件
複数の条件を組み合わせて評価することもできます。&&(論理積)や||(論理和)を使用して、複雑な条件を作成することができます。
-
&&(論理積):両方の条件が真の場合に真になります。 -
||(論理和):どちらかの条件が真の場合に真になります。
使用例:
csharpint number = 10;
if (number > 5 && number < 20)
{
Console.WriteLine("5より大きく、20より小さい");
}
if (number < 5 || number > 15)
{
Console.WriteLine("5より小さいか、15より大きい");
}
この例では、最初の条件が満たされて「5より大きく、20より小さい」が表示されます。
まとめ
C#における条件文は、プログラムのフローを制御するための強力なツールです。if、else if、else、switch、そして条件演算子(?:)などを使用することで、プログラムの動作を柔軟に制御することができます。条件文を適切に使用することで、複雑なロジックを簡潔に表現することができ、コードの可読性や保守性が向上します。
