用于代替条件语句 if 和 else 进行决策的运算符在 C# 中被称为三元运算符,它由三个参数组成,其中第一个参数用于比较,如果比较的结果为 true,则返回第二个参数,如果比较结果为 false,则返回第三个参数,这个运算符可以被认为是使用 if-else 语句的优化方式。
语法:
Boolean Expression ? First statement : Second statement
上面的语法代表三元运算符。它由三部分组成。语法的第一部分位于 ? 之前。它返回一个布尔值 true 或 false,因为它是一个条件表达式。语法的第二部分位于“?”之前和“:”之后,如果第一部分的条件表达式的结果为 true,则执行该部分。如果第一部分的条件表达式的结果为 false,则执行“:”语句之后的语法的第三部分。
以下是三元运算符的不同示例。
考虑下面的 C# 程序,使用 if-else 语句比较两个值。
代码:
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"); } } } }
输出:
在上面的程序中,定义了两个变量a和b并分配了一些值。使用 if-else 条件语句将它们的值相互比较,找出较大的值。上面的程序由二十行代码组成,用于相互比较两个值。使用三元运算符可以将相同的代码优化为十四行,如下代码中使用的:
考虑下面的 C# 程序,使用三元运算符比较两个值。
代码:
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"); } } }
输出:
在上面的程序中,定义了两个变量a和b并分配了一些值。使用三元运算符将它们的值相互比较,找出较大的值。执行条件语句,并将语句的结果赋给变量 res。如果条件语句的结果为真,则打印‘?’之后的第二条语句,即a的值大于b;否则,打印‘:’之后的第三条语句 b 的值小于 a。
当“?”或“:”后面的第二个参数或第三个参数又是条件语句时,该运算符称为嵌套三元运算符。例如,考虑以下程序:
代码:
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"); } } }
输出:
在上面的程序中,定义了两个变量a和b并分配了一些值。使用 C# 中的三元运算符将它们的值相互比较,以找出哪个更大或者它们是否相等。执行条件语句,并将语句的结果赋给变量 res。如果条件语句的结果为 true,则执行“?”之后的第二条语句,这也是一个条件语句 a
注意:三元运算符不能执行语句。它仅返回第二部分或第三部分中存在的表达式或值,具体取决于第一部分中条件语句的结果。
C# 三元运算符示例
以下是 C# 中三元运算符的不同示例。
使用嵌套三元运算符找出给定数字中最大的 C# 程序。
代码:
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(); } } }
输出:
使用三元运算符判断给定数字是否为偶数的 C# 程序。
代码:
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); } } }
输出:
在本教程中,我们通过定义了解 C# 中三元运算符的概念,然后了解 C# 中三元运算符的工作原理。然后我们了解使用嵌套三元运算符和简单三元运算符的不同 C# 程序以及它们的工作使用程序及其输出快照,其中包含程序的结果。
以上是C# 三元运算符的详细内容。更多信息请关注PHP中文网其他相关文章!