C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#の三項演算子(条件演算子)とは?基本構文と使い方を解説

三項演算子(条件演算子)とは

三項演算子は、C#における条件演算子(Conditional Operator)とも呼ばれる演算子で、「?」と「:」を使って条件分岐を1行で簡潔に記述できます。名前の通り、3つのオペランド(引数)を受け取り、ブール式(真偽値)を評価した結果に応じて、いずれか一方の値を返します。

基本構文

条件式 ? 真の場合の値 : 偽の場合の値;

例えば、次のように記述します。

y = (x == 1) ? 70 : 100;

この場合、最初のオペランドである条件式「(x == 1)」が true(1)と評価されれば、2番目のオペランド「70」が返されます。逆に false(0)と評価された場合は、3番目のオペランド「100」が返されます。

C#での三項演算子の使用例

以下は、C#で三項演算子を使用したサンプルプログラムです。

using System;

namespace DEMO {
   class Program {
      static void Main(string[] args) {

         int a, b;
         a = 10;
         b = (a == 1) ? 20 : 30;
         Console.WriteLine("Value of b is {0}", b);
         b = (a == 10) ? 20 : 30;
         Console.WriteLine("Value of b is {0}", b);
         Console.ReadLine();
      }
   }
}

実行結果

Value of b is 30
Value of b is 20

コードの解説

変数 a の値は 10 なので、最初の条件「(a == 1)」は false となり、b には 30 が代入されます。続く条件「(a == 10)」は true となるため、b には 20 が代入されます。このように、三項演算子を使えば条件に応じた値の代入を1行で表現できます。

if-else文との比較

三項演算子は、if-else文を簡潔に書き換えることができます。例えば、上記の処理は以下のif-else文と同じ動作になります。

if (a == 1) {
   b = 20;
} else {
   b = 30;
}

単純な条件分岐で値を代入するだけであれば、三項演算子を使うことでコードを短く、読みやすくできます。ただし、条件が複雑になったりネストが深くなったりする場合は、可読性を優先してif-else文を使用するのがおすすめです。

  1. C#の演算子の優先順位とは?基本ルールとサンプルコードで解説

    演算子とは演算子(オペレーター)とは、コンパイラに対して特定の数学的処理や論理処理を実行するよう指示するための記号です。C#には、算術演算子・関係演算子・論理演算子など、さまざまな種類の演算子が用意されています。演算子の優先順位とは演算子の優先順位とは、1つの式の中で各項がどのようにグループ化され、どの順番で評価されるかを決めるルールです。この優先順位は式の評価結果に直接影響します。すべての演算子が同じ優先順位を持つわけではなく、たとえば乗算演算子(*)は加算演算子(+)よりも高い優先順位を持ちます。そのため、a + b * c という式は (a + b) * c ではなく a + (b *

  2. Pythonの三項演算子とは?基本構文から実装方法まで徹底解説

    多くのプログラミング言語では、三項演算子(条件演算子)がサポートされており、これを使うことで条件式を簡潔に記述できます。Pythonの三項演算子も同様に、二値の条件の評価結果に基づいて値を返すために使用されます。条件(真偽値)を入力として受け取るため「if-else」文とよく似ていますが、同時に値を返すという点で、関数のような振る舞いをするのも特徴です。基本構文[on_true] if [expression] else [on_false]それでは、2つの整数を比較する簡単なプログラムを書いてみましょう。a. Pythonのif-else文を使用した場合:>>> x, y