C#提供了許多決策語句,這些語句可根據(jù)某些邏輯條件幫助C#程序的流程。在這里,您將了解if,else if,else和嵌套的if else語句,以根據(jù)條件控制流程。
C#包含以下幾種if語句:
if 語句
else-if 語句
else 語句
if 語句包含一個布爾條件,后跟要執(zhí)行的單行或多行代碼塊。在運行時,如果布爾條件評估為true,則將執(zhí)行代碼塊,否則不執(zhí)行。
if(condition) { //if 條件為真時要執(zhí)行的代碼塊 }
int i = 10, j = 20; if (i < j) { Console.WriteLine("i小于j"); } if (i > j) { Console.WriteLine("i大于j"); }
i小于j
在上面的示例中,第一條 if 語句中的布爾條件 i < j 求值為true,因此C#編譯器將執(zhí)行以下代碼塊。第二條if語句的條件 i > j 評估為false,因此編譯器將不會執(zhí)行其代碼塊。
條件表達式必須返回布爾值,否則C#編譯器將給出編譯時錯誤。
int i = 10, j = 20; if (i + 1) { Console.WriteLine("i is less than j"); } if (i + j) { Console.WriteLine("i is greater than j"); }
您可以在 if 語句中調(diào)用一個返回布爾值的函數(shù)。
static void Main(string[] args) { int i = 10, j = 20; if (isGreater(i, j)) { Console.WriteLine("i is less than j"); } if (isGreater(j, i)) { Console.WriteLine("j is greater than i"); } } static bool isGreater(int i, int j) { return i > j; }
在if語句之后可以使用多個else if語句。它只在if條件的計算結(jié)果為false時執(zhí)行。因此,if語句或else if語句之一可以執(zhí)行,但不能同時執(zhí)行。
if(condition1) { //如果condition1評估為true時要執(zhí)行的代碼塊 } else if(condition2) { // 何時執(zhí)行的代碼塊 // condition1計算為flase // condition2計算為true } else if(condition3) { // 何時執(zhí)行的代碼塊 // condition1計算為flase // condition2計算為false // condition3計算為true }
下面的示例演示else if語句。
int i = 10, j = 20; if (i == j) { Console.WriteLine("i等于j"); } else if (i > j) { Console.WriteLine("i大于j"); } else if (i < j) { Console.WriteLine("i小于j"); }
i小于j
else語句只能在if或else if語句之后出現(xiàn),并且只能在if-else語句中使用一次。else語句不能包含任何條件,并且將在前面所有if和else if條件的計算結(jié)果都為false時執(zhí)行。
int i = 20, j = 20; if (i > j) { Console.WriteLine("i 大于 j"); } else if (i < j) { Console.WriteLine("i 小于 j"); } else { Console.WriteLine("i 等于 j"); }
i等于j
C支持另一個if-else語句中的if-else語句。這稱為嵌套的if-else語句。嵌套的if語句使代碼更具可讀性。
if(condition1) { if(condition2) { // 何時執(zhí)行的代碼塊 // condition1和condition2計算為true } else if(condition3) { if(condition4) { // 何時執(zhí)行的代碼塊 // 只有condition1,condition3和condition4的計算結(jié)果為true } else if(condition5) { // 何時執(zhí)行的代碼塊 // 只有condition1,condition3和condition5的計算結(jié)果為true } else { // 何時執(zhí)行的代碼塊 // condition1和condition3評估為true // condition4和condition5的計算結(jié)果為false } } }
下面的示例演示了嵌套if else語句。
int i = 10, j = 20; if (i != j) { if (i < j) { Console.WriteLine("i小于j"); } else if (i > j) { Console.WriteLine("i大于j"); } }else{ Console.WriteLine("i等于j"); }
i小于j
使用三元運算符?:代替簡單的if else語句。