Heim > Artikel > Backend-Entwicklung > Ternäre C#-Operatoren
Die für die Entscheidungsfindung verwendeten Operatoren, die die bedingten Anweisungen if und else ersetzen, werden in c# als ternärer Operator bezeichnet, der aus drei Argumenten besteht, von denen das erste Argument zum Vergleich verwendet wird und wenn das Ergebnis dieses Vergleichs wahr ist, der Wenn das zweite Argument zurückgegeben wird, ist das Ergebnis des Vergleichs falsch, wird das dritte Argument zurückgegeben, und dieser Operator kann als optimierte Art der Verwendung der if-else-Anweisung betrachtet werden.
Syntax:
Boolean Expression ? First statement : Second statement
Die obige Syntax stellt den ternären Operator dar. Es besteht aus drei Teilen. Der erste Teil der Syntax steht vor ?. Es gibt einen booleschen Wert „true“ oder „false“ zurück, da es sich um einen bedingten Ausdruck handelt. Der zweite Teil der Syntax steht vor „?“ und nach „:“ und wird ausgeführt, wenn das Ergebnis des bedingten Ausdrucks des ersten Teils wahr ist. Der dritte Teil der Syntax nach der „:“-Anweisung wird ausgeführt, wenn das Ergebnis des bedingten Ausdrucks, der den ersten Teil darstellt, falsch ist.
Im Folgenden sind die verschiedenen Beispiele für ternäre Operatoren aufgeführt.
Betrachten Sie das folgende C#-Programm zum Vergleich zweier Werte mithilfe der if-else-Anweisung.
Code:
using System; namespace Project { class MainClass { public static void Main(string[] args) { int a = 30; int b = 40; if (a < b) { Console.WriteLine("a's value is less than b"); } else { Console.WriteLine("b's value is less than a"); } } } }
Ausgabe:
Im obigen Programm werden zwei Variablen, a und b, definiert und ihnen einige Werte zugewiesen. Ihre Werte werden miteinander verglichen, um mithilfe von if-else-Bedingungsanweisungen herauszufinden, welcher größer ist. Das obige Programm besteht aus zwanzig Codezeilen, um zwei Werte miteinander zu vergleichen. Derselbe Code kann mithilfe des ternären Operators, der im folgenden Code verwendet wird, auf vierzehn Zeilen optimiert werden:
Betrachten Sie das folgende C#-Programm zum Vergleich zweier Werte mit ternären Operatoren.
Code:
using System; namespace Project { class MainClass { public static void Main(string[] args) { int a = 40; int b = 30; Console.WriteLine((a < b) ? "a's value is more than b" : "b's value is less than a"); } } }
Ausgabe:
Im obigen Programm werden zwei Variablen, a und b, definiert und ihnen einige Werte zugewiesen. Ihre Werte werden unter Verwendung ternärer Operatoren miteinander verglichen, um herauszufinden, welcher Wert größer ist. Die bedingte Anweisung wird ausgeführt und das Ergebnis der Anweisung wird einer Variablen res zugewiesen. Wenn das Ergebnis der bedingten Anweisung wahr ist, wird die zweite Anweisung nach dem „?“ gedruckt, die angibt, dass der Wert von a größer als der Wert von b ist. andernfalls wird die dritte Anweisung nach dem „:“ ausgegeben. Der Wert von b ist kleiner als a.
Wenn das zweite Argument oder das dritte Argument nach „?“ oder nach „:“ wiederum eine bedingte Anweisung ist, wird der Operator als verschachtelter ternärer Operator bezeichnet. Betrachten Sie zum Beispiel das folgende Programm:
Code:
using System; namespace Project { public class MainClass { public static void Main(string[] args) { int a = 10; int b = 8; Console.WriteLine(a> b ? "a's value is more than b" : a < b ? "a's value is less than b" : a == b ? "C" : "No result"); } } }
Ausgabe:
Im obigen Programm werden zwei Variablen, a und b, definiert und ihnen einige Werte zugewiesen. Ihre Werte werden mithilfe ternärer Operatoren in C# miteinander verglichen, um herauszufinden, welcher größer ist oder ob sie gleich sind. Die bedingte Anweisung wird ausgeführt und das Ergebnis der Anweisung wird einer Variablen res zugewiesen. Wenn das Ergebnis der bedingten Anweisung wahr ist, wird die zweite Anweisung nach dem „?“ ausgeführt, die wiederum eine bedingte Anweisung a
Hinweis: Ternäre Operatoren können keine Anweisungen ausführen. Es gibt nur einen Ausdruck oder Wert zurück, der im zweiten oder dritten Teil vorhanden ist, abhängig vom Ergebnis der bedingten Anweisung im ersten Teil.
Beispiele für ternäre C#-Operatoren
Im Folgenden finden Sie die verschiedenen Beispiele für ternäre Operatoren in C#.
C#-Programm, das einen verschachtelten ternären Operator verwendet, um die größte der angegebenen Zahlen herauszufinden.
Code:
using System; using System.IO; using System.Text; //Define Namespace namespace program { //Define class public class large { //Define main method public static void Main(string[] args) { //Define three variables to take the input int x; int y; int z; //Get the input from the users Console.Write("First number must be entered : "); x = Convert.ToInt32(Console.ReadLine()); Console.Write("Second number must be entered: "); y = Convert.ToInt32(Console.ReadLine()); Console.Write("Third number must be entered : "); z = Convert.ToInt32(Console.ReadLine()); //largest number is found out by using nested ternary operator int large = (x>y)?((x>z)?x:z):(y>z?y:z); //display the largest number Console.WriteLine("{0} is the largest number", large); Console.ReadLine(); } } }
Ausgabe:
C#-Programm, das den ternären Operator verwendet, um herauszufinden, ob eine bestimmte Zahl gerade ist oder nicht.
Code:
using System; // Define Namespace namespace program { // Define class public class check { // Define main method public static void Main(string[] args) { //Assign the number which need to be checked if it is even or not int number = 8; bool ifitisEven; //Logic to check if ithe given number is even or not ifitisEven = (number % 2 == 0) ? true : false ; Console.WriteLine(ifitisEven); } } }
Ausgabe:
In diesem Tutorial verstehen wir das Konzept der ternären Operatoren in C# anhand der Definition und verstehen dann die Funktionsweise ternärer Operatoren in C#. Dann verstehen wir verschiedene C#-Programme, die den verschachtelten ternären Operator und den einfachen ternären Operator verwenden, und wie sie mit Programmen funktionieren, wobei ihre Ausgabe-Snapshots in den Ergebnissen der darin enthaltenen Programme enthalten sind.
Das obige ist der detaillierte Inhalt vonTernäre C#-Operatoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!