スポンサーリンク
※サイト運営にサーバーは必須です※
~ ロリポップ! はコスパのよい初心者向けサーバーです~
条件演算子とは
条件式が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文で書ける処理を、条件演算子で常に書き換えるわけではありません。
条件演算子は、条件式の真偽によって、値が変化する場合にのみ有効です。
関連記事
~ギャンブルに絶対儲かる必勝法があるのだろうか?~
私(サイト主)はこの疑問に対して非常に興味を持ち、プログラミングで検証してみました。
このサイトを応援してもいいかなと思う人はぜひとも購入を検討してみてください。