条件运算符?: 和 &&运算符的联合计算运用
条件运算符
条件运算符 x ? y :z
如果x为true,则结果为y, 否则结果为z
x为判断式,如果x为正确,则结果为y。如果x为错误,则结果为z。
1 using System; 2 3 namespace Operator 4 { 5 class TernaryOperator 6 { 7 public static void Main(string[] args) 8 { 9 int number = 10; 10 string result; 11 12 result = (number % 2 == 0)? "Even Number" : "Odd Number"; 13 Console.WriteLine("{0} is {1}", number, result); 14 } 15 } 16 }
运行结果如下:
10 is Even Number
逻辑运算符
逻辑运算符用于运行诸如and和or的逻辑运算。逻辑运算符操作布尔型表达式(true和false),并返回布尔值。逻辑运算符用于决策和循环。
Operand 1 | Operand 2 | OR (||) | AND (&&) |
---|---|---|---|
true | true | true | true |
true | false | true | false |
false | true | true | false |
false | false | false | false |
1 using System; 2 3 namespace Operator 4 { 5 class LogicalOperator 6 { 7 public static void Main(string[] args) 8 { 9 bool result; 10 int firstNumber = 10, secondNumber = 20; 11 12 // OR operator 13 result = (firstNumber == secondNumber) || (firstNumber > 5); 14 Console.WriteLine(result); 15 16 // AND operator 17 result = (firstNumber == secondNumber) && (firstNumber > 5); 18 Console.WriteLine(result); 19 } 20 } 21 }
运行结果如下:
True
False
下面开始将条件运算符与逻辑运算符结合使用:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Drawing; 6 using System.Windows.Forms; 7 8 namespace operatorDemo 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 string result; 15 int firstNumber = 15, secondNumber = 20; 16 17 result = (firstNumber == secondNumber) && (firstNumber > 5) ? "True" : "False"; 18 Console.WriteLine(result); 19 } 20 } 21 }
可见,&&的优先级高于?:,所以 (firstNumber == secondNumber) && (firstNumber > 5)先进行运算,运算结果为“假”,而后执行“False”。
并将“False”值赋给result。
如果将result更改为bool类型,则显示为错误。