Pengendali yang digunakan untuk membuat keputusan yang menggantikan pernyataan bersyarat if and else dipanggil operator ternary dalam c#, yang terdiri daripada tiga argumen di antaranya argumen pertama digunakan untuk perbandingan dan jika keputusan perbandingan ini adalah benar, hujah kedua dikembalikan, hasil perbandingan adalah palsu, hujah ketiga dikembalikan, dan operator ini boleh dianggap sebagai cara yang dioptimumkan untuk menggunakan pernyataan if-else.
Sintaks:
Boolean Expression ? First statement : Second statement
Sintaks di atas mewakili pengendali ternary. Ia terdiri daripada tiga bahagian. Bahagian pertama sintaks ialah sebelum ?. Ia mengembalikan nilai Boolean benar atau salah kerana ia adalah ungkapan bersyarat. Bahagian kedua sintaks ialah sebelum ‘?’ dan selepas ‘:’, yang dilaksanakan jika hasil ungkapan bersyarat bahagian pertama adalah benar. Bahagian ketiga sintaks selepas pernyataan ‘:’ dilaksanakan jika hasil ungkapan bersyarat yang merupakan bahagian pertama adalah palsu.
Berikut ialah contoh berbeza pengendali ternary.
Pertimbangkan program C# di bawah untuk perbandingan dua nilai menggunakan pernyataan if-else.
Kod:
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"); } } } }
Output:
Dalam atur cara di atas, dua pembolehubah, a dan b, ditakrifkan dan diberikan beberapa nilai. Nilai mereka dibandingkan antara satu sama lain untuk mengetahui yang mana lebih besar menggunakan pernyataan bersyarat if-else. Program di atas terdiri daripada dua puluh baris kod untuk membandingkan dua nilai antara satu sama lain. Kod yang sama boleh dioptimumkan kepada empat belas baris dengan menggunakan operator ternary, yang digunakan dalam kod di bawah:
Pertimbangkan program C# di bawah untuk perbandingan dua nilai menggunakan operator ternary.
Kod:
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"); } } }
Output:
Dalam atur cara di atas, dua pembolehubah, a dan b, ditakrifkan dan diberikan beberapa nilai. Nilai mereka dibandingkan antara satu sama lain untuk mengetahui yang mana lebih besar menggunakan pengendali ternary. Pernyataan bersyarat dilaksanakan, dan hasil pernyataan itu diberikan kepada pembolehubah res. Jika keputusan pernyataan bersyarat adalah benar, pernyataan kedua selepas ‘?’, iaitu nilai a adalah lebih daripada b, dicetak; jika tidak, pernyataan ketiga selepas nilai ‘:’ b adalah kurang daripada a dicetak.
Apabila hujah kedua atau hujah ketiga selepas ‘?’ atau selepas ‘:’ adalah pernyataan bersyarat sekali lagi, maka operator dipanggil operator ternary bersarang. Pertimbangkan program di bawah, sebagai contoh:
Kod:
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"); } } }
Output:
Dalam atur cara di atas, dua pembolehubah, a dan b, ditakrifkan dan diberikan beberapa nilai. Nilai mereka dibandingkan antara satu sama lain untuk mengetahui yang mana lebih besar atau sama ada ia sama menggunakan operator ternary dalam C#. Pernyataan bersyarat dilaksanakan, dan hasil pernyataan itu diberikan kepada pembolehubah res. Jika keputusan penyataan bersyarat adalah benar, penyataan kedua selepas '?' yang sekali lagi merupakan penyataan bersyarat a
Nota: Pengendali ternary tidak boleh melaksanakan pernyataan. Ia hanya mengembalikan ungkapan atau nilai yang terdapat dalam bahagian kedua atau bahagian ketiga bergantung pada hasil pernyataan bersyarat di bahagian pertama.
Contoh C# Ternary Operator
Berikut ialah contoh berbeza pengendali ternary dalam C#.
Program C# menggunakan operator ternary bersarang untuk mengetahui nombor terbesar yang diberikan.
Kod:
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(); } } }
Output:
Program C# menggunakan operator ternary untuk mengetahui sama ada nombor yang diberikan adalah genap atau tidak.
Kod:
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); } } }
Output:
Dalam tutorial ini, kami memahami konsep operator ternary dalam C# melalui definisi dan kemudian memahami cara kerja operator ternary dalam C#. Kemudian kami memahami program C# yang berbeza menggunakan pengendali ternary bersarang dan pengendali ternary mudah dan kerjanya menggunakan program dengan petikan keluarannya disertakan dengan hasil program di dalamnya.
Atas ialah kandungan terperinci C# Operator Ternary. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!