C# 三項演算子:条件式を簡潔に書くためのガイド
C# 三項演算子
シンプルな if…else 文を簡潔に置き換える C# の三項演算子をマスターしましょう。
三項演算子は単純な if…else 文の簡潔な代替手段です。初めての場合は、まず C# の if…else 構文を復習してください。
構文:
Condition ? Expression1 : Expression2;
動作:
Conditionがtrueに評価される場合、Expression1が返されます。Conditionがfalseに評価される場合、Expression2が返されます。
例:複数行の if…else を 1 行に変換:
if (number % 2 == 0) {
isEven = true;
} else {
isEven = false;
}
を:
isEven = (number % 2 == 0) ? true : false;
なぜ「三項」と呼ばれるのか?
3 つのオペランド(条件、真の分岐、偽の分岐)で動作するためです。
例 1:基本的な使用法
using System;
namespace Conditional {
class Ternary {
public static void Main(string[] args) {
int number = 2;
bool isEven;
isEven = (number % 2 == 0) ? true : false;
Console.WriteLine(isEven);
}
}
}
出力:
True
このプログラムでは number が 2 なので、条件は true に評価され、isEven = true となります。三項演算子は文字列、数値、文字など他の型も返せるため汎用性が高いです。
結果を直接出力することも可能です:
Console.WriteLine((number % 2 == 0) ? true : false);
三項演算子を使うべき場面
三項演算子は短く明確な条件に最適です。過度な使用、特にネストした式では可読性が低下します。
例えば、if…else if の連鎖を以下のように 1 行に凝縮できます:
if (a > b) {
result = "a is greater than b";
} else if (a < b) {
result = "b is greater than a";
} else {
result = "a is equal to b";
}
を:
result = a > b ? "a is greater than b" : a < b ? "b is greater than a" : "a is equal to b";
コードは短くなりますが、ネストした三項演算子は追従しにくくなります。単純な条件には控えめに使用し、複雑なロジックは明示的な if ブロックに任せましょう。
C言語
- オペレーター関与維持管理:メリットは隠れたコストを上回るか?
- シャルミル オペレーターキーボードのプロフェッショナル修理サービス
- 効率的なトレンチング&積込みのためのショベルオペレーター実践戦略
- C++演算子を徹底解説:種類、例、サンプルプログラム付き
- C++演算子オーバーロード:コード例付き実践ガイド
- C++オーバーロード完全マスター:関数と演算子のオーバーロード
- C#の演算子オーバーロード:カスタム型で演算子を再定義する
- MATLAB基礎マスター:必須構文とコマンド完全ガイド
- Python演算子オーバーロード完全ガイド:__add__、__lt__など特殊メソッドでOOP設計を強化
- Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
- Java 9で匿名内部クラスにダイヤモンド演算子対応:コード簡素化