三項演算子
CoddyのC#ジャーニー「基礎」セクションの一部 — レッスン 28/69。
三項演算子は、シンプルな1行の if-else 文です。次のような構文になります:
variable = (condition) ? value_if_true : value_if_false;三項演算子は条件を評価します。もしそれが true であれば、変数に value_if_true を代入します。そうでなければ、value_if_false を代入します。
例えば:
int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";この例では、age が18以上であるため、message には値 "Adult" が代入されます。もし age が18未満であれば、message には "Minor" が代入されます。
三項演算子をネストして、複数の条件を処理することができます:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";これは複数の条件を順番にチェックします。もし score >= 90 なら grade は "A"、そうでなく score >= 80 なら "B"、そうでなく score >= 70 なら "C"、それ以外の場合は "F" になります。
注意: ネストされた三項演算子は読みにくくなることがあります。複雑な条件の場合は、代わりに if-else 文を使用してください。
チャレンジ
初心者三項演算子を使用して、数値が正、負、またはゼロであるかを確認するプログラムを作成してください。プログラムは以下の手順で行う必要があります:
- ユーザーから整数の入力を受け取ります。
- 三項演算子を使用して、数値が正、負、またはゼロであるかを判定します。
positive、negative、またはzeroという文字列をresultに保存してください。 - 結果を
"The number is [positive/negative/zero]"という形式で出力します。
この問題を解決するために、ネストされた三項演算子を使用することができます。
チートシート
三項演算子は、次の構文を持つ1行の if-else 文です。
variable = (condition) ? value_if_true : value_if_false;条件を評価し、条件が true の場合は value_if_true を代入し、そうでない場合は value_if_false を代入します。
例:
int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";複数の条件を処理するための入れ子(ネスト)された三項演算子:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";これは複数の条件を順番にチェックします。もし score >= 90 なら grade は "A" になり、そうでなく score >= 80 なら grade は "B" になり、そうでなく score >= 70 なら grade は "C" になり、それ以外は "F" になります。
注意: 入れ子になった三項演算子は読みにくくなることがあります。複雑な条件の場合は、代わりに if-else 文を使用してください。
自分で試してみよう
using System;
public class Program {
public static void Main(string[] args) {
int number = int.Parse(Console.ReadLine());
string result = "";
// 以下にコードを記述してください
Console.WriteLine("The number is " + result);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。