スポンサーリンク
※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~
条件演算子とは
条件式がtrueかfalseかで返す値を変えることができる演算子です。
以下のような形で使われます。
条件式 ? (trueの場合に返す値) : (falseの場合に返す値)
「条件式」「trueの場合に返す値」「falseの場合に返す値」の3つの項目を扱うことから、条件演算子は三項演算子です。
しかし、C#において、三項演算子は条件演算子しかありません。
そのため、三項演算子と言えば、条件演算子を指していると思って間違いはありません。
条件演算子は以下のように使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConditionalOperator01 { class Program { static void Main(string[] args) { Console.WriteLine("好きな整数を入力してください"); int num = int.Parse(Console.ReadLine()); string ans = num > 0 ? "正の数" : "負の数またはゼロ"; Console.WriteLine(ans); } } } |
この場合、numが0より大きい場合(つまり、num > 0がtrueの場合)はans= “正の数”になります。
一方でnumが0以下の場合(つまり、num > 0がfalseの場合)はans= “負の数またはゼロ”になります。
3と入力した場合の実行結果
好きな整数を入力してください
3
正の数
-5と入力した場合の実行結果
好きな整数を入力してください
-5
負の数またはゼロ
このソースコードを、条件演算子を使わずにif文だけで書くと以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConditionalOperator02 { class Program { static void Main(string[] args) { Console.WriteLine("好きな整数を入力してください"); int num = int.Parse(Console.ReadLine()); string ans; if (num > 0) { ans = "正の数"; } else { ans = "負の数またはゼロ"; } Console.WriteLine(ans); } } } |
このように、if~else文を使うと複数行になる文を、条件演算子を使えば、1行ですっきり書くことができます。
※注意点
if~else文で書ける処理を、条件演算子で常に書き換えるわけではありません。
条件演算子は、条件式の真偽によって、値が変化する場合にのみ有効です。
関連記事
~プログラミングを勉強してみませんか?~
TechAcademy [テックアカデミー] は無料の体験講座が用意されているので、気軽に体験できます。
※私(サイト主)も無料体験講座を実際に受けてみました(→感想)