工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C#の意思決定構造:if、switch、三項演算子を徹底解説

意思決定構造では、プログラマが1つ以上の条件を指定し、プログラムによって評価・テストされます。条件が真と判定された場合に実行される文、およびオプションで偽と判定された場合に実行される文を指定します。

一般的な意思決定構造の形式は以下の通りです。

C#の意思決定構造:if、switch、三項演算子を徹底解説

C#の意思決定ステートメント

No.ステートメントと説明
1if文
ブール式に続いて1つ以上の文が続く
2if...else文
if文に続けて、ブール式が偽のときに実行されるelse文を指定可能
3ネストしたif文
if文またはelse if文の中に、別のif文やelse if文を記述可能
4switch文
変数を値のリストと照合して等価性をテスト
5ネストしたswitch文
switch文の中に別のswitch文を記述可能

if文の基本構文

if (条件式) {
    // 条件がtrueのときに実行される文
}

if...else文

if (条件式) {
    // trueのときの処理
} else {
    // falseのときの処理
}

if...else if...else文(複数条件)

if (条件1) {
    // 条件1がtrue
} else if (条件2) {
    // 条件1がfalseで条件2がtrue
} else {
    // すべてfalse
}

switch文

switch文は、変数を値のリスト(caseラベル)と照合します。

switch (式) {
    case 値1:
        // 式 == 値1 のときの処理
        break;
    case 値2:
        // 式 == 値2 のときの処理
        break;
    default:
        // いずれにも一致しないときの処理
        break;
}

switch式(C# 8.0以降)

より簡潔な式ベースのswitchも利用できます。

var result = value switch {
    1 => "One",
    2 => "Two",
    _ => "Other"
};

三項演算子(? : 演算子)

前章で説明した条件演算子? :は、if...else文を置き換えるために使用できます。一般的な形式は以下の通りです。

Exp1 ? Exp2 : Exp3;

Exp1, Exp2, Exp3は式です。コロンの位置と使い方に注意してください。

?式の値は以下のように決定されます:

  1. Exp1が評価される
  2. trueの場合、Exp2が評価され、その値が式全体の値になる
  3. falseの場合、Exp3が評価され、その値が式全体の値になる

三項演算子の例

int a = 10, b = 20;
int max = (a > b) ? a : b;  // max = 20
string message = (max > 15) ? "大きい" : "小さい";  // "大きい"

パターンマッチング(C# 7.0以降)

モダンなC#では、パターンマッチングを使用したより強力な条件分岐が可能です。

// 型パターン
if (obj is string s) {
    Console.WriteLine(s.Length);
}

// switch式でのパターンマッチング
var description = shape switch {
    Circle c => $"半径: {c.Radius}",
    Rectangle r => $"幅: {r.Width}, 高さ: {r.Height}",
    _ => "不明な図形"
};

ベストプラクティス

C言語

  1. 高度製造における意思決定を強力なアナリティクスで強化する
  2. データ取り込みを効率化し、より賢い意思決定を推進
  3. C# switch 文をマスターする:構文、例、ベストプラクティス
  4. C# break 文:使い方とタイミングを徹底解説
  5. C# continue 文をマスターする:ループ反復を効果的にスキップする方法
  6. C++ break文完全ガイド:ループ脱出の仕組みと実例
  7. C++ continue文完全ガイド:ループ制御の実例とベストプラクティス
  8. C言語条件文マスター:if、else、ネストの実践ガイド
  9. C言語goto文完全解説:構文、実用例、ベストプラクティス
  10. C言語の基本構文マスター:トークン、構造、セミコロン
  11. Python pass文完全マスター: 実践ガイド