
C#の条件分岐、もう迷わない!if文、switch文、三項演算子を徹底解説します。
C#の条件分岐:if文の基本
C#における条件分岐の基本はif
文です。if
文を使うことで、特定の条件が真(true)の場合にのみ、指定されたコードブロックを実行できます。条件分岐は、プログラムに柔軟性を持たせ、様々な状況に対応させるために不可欠な要素です。
if (条件式)
{
// 条件式が真の場合に実行されるコード
}
条件式は、bool型の値を返す必要があります。比較演算子(==, !=, <, >, <=, >=)や論理演算子(&&, ||, !)を組み合わせて、複雑な条件を記述することも可能です。
int x = 10;
if (x > 5)
{
Console.WriteLine("xは5より大きい");
}
else
文を使うと、if
文の条件が偽(false)の場合に実行されるコードブロックを指定できます。
int x = 3;
if (x > 5)
{
Console.WriteLine("xは5より大きい");
}
else
{
Console.WriteLine("xは5以下です");
}
else if
文を使うと、複数の条件を順番に評価し、最初に真となる条件に対応するコードブロックを実行できます。
int x = 7;
if (x > 10)
{
Console.WriteLine("xは10より大きい");
}
else if (x > 5)
{
Console.WriteLine("xは5より大きく、10以下です");
}
else
{
Console.WriteLine("xは5以下です");
}
C#の条件分岐:switch文の使い方
switch
文は、変数の値に基づいて複数の異なるコードブロックの中から一つを選択して実行する際に便利です。if-else if
文の連鎖をより簡潔に記述できます。
switch (変数)
{
case 値1:
// 変数が値1と等しい場合に実行されるコード
break;
case 値2:
// 変数が値2と等しい場合に実行されるコード
break;
default:
// 変数がどの値とも一致しない場合に実行されるコード
break;
}
case
ラベルには、定数式(コンパイル時に値が確定する式)を指定する必要があります。break
ステートメントは、該当するcase
のコードブロックの実行を終了し、switch
文から抜け出すために使用します。default
ラベルは、どのcase
にも一致しない場合に実行されるコードブロックを指定します。
string color = "red";
switch (color)
{
case "red":
Console.WriteLine("赤色です");
break;
case "blue":
Console.WriteLine("青色です
");
break;
default:
Console.WriteLine("その他の色です");
break;
}
C# 7.0以降では、switch
文でパターンマッチングを使用することも可能です。これにより、型のチェックや、より複雑な条件に基づいた分岐が可能になります。
if文とswitch文の使い分け
if
文とswitch
文は、どちらも条件分岐を制御するための構文ですが、それぞれに適した場面があります。
if
文は、条件が複雑な場合や、変数の範囲に基づいた条件分岐を行う場合に適しています。また、bool型の条件式を直接評価できるため、柔軟な条件分岐が可能です。
switch
文は、変数の値が複数の定数と比較される場合に適しています。特に、変数の型が整数型や文字列型の場合に、コードをより簡潔に記述できます。ただし、switch
文では、条件式が定数式でなければならないという制約があります。
一般的に、条件が複雑で、変数の範囲や型に基づいた条件分岐が必要な場合はif
文を、変数の値が複数の定数と比較される場合はswitch
文を使用すると良いでしょう。
C#の条件演算子(三項演算子)
C#には、条件演算子と呼ばれる三項演算子 ?:
があります。これは、if-else
文を簡潔に記述するためのものです。
条件式 ? 式1 : 式2
条件式が真の場合、式1が評価され、その結果が返されます。条件式が偽の場合、式2が評価され、その結果が返されます。
int x = 10;
int y = (x > 5) ? 20 : 30; // x > 5 が真なので、yには20が代入される
Console.WriteLine(y); // 出力:20
参考リンク
まとめ
C#における条件分岐は、if
文、switch
文、そして条件演算子によって実現されます。これらの構文を理解し、適切に使い分けることで、より柔軟で効率的なプログラムを作成できます。条件分岐は、プログラミングの基礎となる重要な概念ですので、しっかりと理解しておきましょう。