演算子

[C#] 三項演算子の正しい使い方と具体例

今回は、C#での三項演算子の正しい使い方と具体例についてご紹介します。

三項演算子とは

三項演算子は、条件演算子とも呼ばれ、条件式の結果に応じて返す値を簡潔に記述できる演算子です。

通常のif-else文を1行に集約できるため、コードをスッキリさせたいときに重宝します。

基本的な使い方

まずは構文を確認してみます。

基本構文は下記の通りです。

変数名 = 条件式 ? 真の場合の値 : 偽の場合の値;

条件式には、bool型(true/false)を返す式を記述します。

以下にif-else文と比較したサンプルコードを示します。

実行結果

アクティブ

上記のように、条件式にisActiveを置き、trueの場合は「アクティブ」、falseの場合は「非アクティブ」という文字列を返します。

同じ処理をif-elseで書くと数行必要になるため、三項演算子を使うと記述量が大幅に削減できる点がメリットです。

実用的な具体例

スコア評価の例

数値の大小に応じて文字列を返すケースを見てみます。

実行結果

合格

このように、コードを一行で書けるため視認性とコンパクトさが向上します。

ネスト(入れ子)した条件分岐

条件が複数にわたる場合は、次のようにネストできます。

実行結果

ネストを多用すると可読性が落ちやすいため、if-elseswitch文との使い分けが重要です。

メソッドの戻り値に使用する例

メソッドで引数に応じた結果を返す場合も、三項演算子で表現できます。

実行結果

(このメソッドを呼び出してConsole.WriteLine(GetStatus(true));とした場合)
オンライン

このように、条件によって単純に値を返すだけなら、三項演算子を使うとコードの記述量を減らせます。

注意点

最後に、三項演算子を使用する際に意識しておきたいポイントを挙げます。

  • 可読性を損なわない範囲で使う
  • 型の整合性を保つ(真の場合と偽の場合の型を一致させる)
  • 副作用のある処理は避ける
  • デバッグのしやすさを考慮する

これらの点に留意すると、三項演算子を効果的に使いこなせます。

まとめ

三項演算子は、短い条件分岐に最適な構文です。

コンパクトにコードをまとめたいときに重宝しますが、複雑になりすぎないように注意してください。

if-elseやswitch文と併せて使い分けることで、より見やすく保守しやすいコードが書けます。