Ternärer Operator
Teil des Abschnitts Grundlagen der C#-Journey von Coddy — Lektion 28 von 69.
Der Ternäre Operator ist eine einfache einzeilige if-else-Anweisung. Er hat die folgende Syntax:
variable = (condition) ? value_if_true : value_if_false;Der Ternary-Operator wertet die Bedingung aus. Wenn sie true ist, weist er der Variablen value_if_true zu; andernfalls weist er value_if_false zu.
Zum Beispiel:
int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";In diesem Beispiel wird, da age größer oder gleich 18 ist, message der Wert "Adult" zugewiesen. Wenn age kleiner als 18 wäre, würde message "Minor" zugewiesen.
Sie können ternäre Operatoren verschachteln, um mehrere Bedingungen zu behandeln:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Dies prüft mehrere Bedingungen nacheinander. Wenn score >= 90, ist grade "A"; ansonsten wenn score >= 80, ist grade "B"; ansonsten wenn score >= 70, ist grade "C"; andernfalls "F".
Hinweis: Verschachtelte ternäre Operatoren können schwer zu lesen sein. Verwenden Sie für komplexe Bedingungen stattdessen if-else-Anweisungen.
Aufgabe
AnfängerErstellen Sie ein Programm, das mithilfe des Ternär-Operators prüft, ob eine Zahl positiv, negativ oder null ist. Das Programm soll:
- Eine Ganzzahl vom Benutzer einlesen.
- Den Ternär-Operator verwenden, um zu bestimmen, ob die Zahl positiv, negativ oder null ist. Speichern Sie den String
positive,negativeoderzeroinresult. - Das Ergebnis im Format
"The number is [positive/negative/zero]"ausgeben.
Sie können einen verschachtelten Ternär-Operator verwenden, um dieses Problem zu lösen.
Spickzettel
Der ternäre Operator ist eine einzeilige if-else-Anweisung mit der folgenden Syntax:
variable = (condition) ? value_if_true : value_if_false;Er wertet die Bedingung aus und weist value_if_true zu, wenn die Bedingung true ist, andernfalls wird value_if_false zugewiesen.
Beispiel:
int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";Verschachtelte ternäre Operatoren zur Behandlung mehrerer Bedingungen:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Dies prüft mehrere Bedingungen nacheinander. Wenn score >= 90, ist der Grad "A"; andernfalls, wenn score >= 80, ist der Grad "B"; andernfalls, wenn score >= 70, ist der Grad "C"; ansonsten "F".
Hinweis: Verschachtelte ternäre Operatoren können schwer zu lesen sein. Verwenden Sie für komplexe Bedingungen stattdessen if-else-Anweisungen.
Probier es selbst
using System;
public class Program {
public static void Main(string[] args) {
int number = int.Parse(Console.ReadLine());
string result = "";
// Schreiben Sie Ihren Code unten
Console.WriteLine("The number is " + result);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorInkrement/DekrementPost-Inkrement/DekrementArithmetische Kurzschreibweisen7Grundlagen IO
Einfache AusgabeString-InterpolationEingabe lesenParsenWiederholung - Bis 120Wiederholung - True or False5Operatoren Teil 2
VergleichsoperatorenLogische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3