C#提供了許多決策語句,這些語句可根據(jù)某些邏輯條件幫助C#程序的流程。在這里,您將了解if,else if,else和嵌套的if else語句,以根據(jù)條件控制流程。
C#包含以下幾種if語句:
if 語句
else-if 語句
else 語句
if 語句包含一個布爾條件,后跟要執(zhí)行的單行或多行代碼塊。在運(yùn)行時,如果布爾條件評估為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í)行其代碼塊。
條件表達(dá)式必須返回布爾值,否則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條件的計(jì)算結(jié)果為false時執(zhí)行。因此,if語句或else if語句之一可以執(zhí)行,但不能同時執(zhí)行。
if(condition1)
{
//如果condition1評估為true時要執(zhí)行的代碼塊
}
else if(condition2)
{
// 何時執(zhí)行的代碼塊
// condition1計(jì)算為flase
// condition2計(jì)算為true
}
else if(condition3)
{
// 何時執(zhí)行的代碼塊
// condition1計(jì)算為flase
// condition2計(jì)算為false
// condition3計(jì)算為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條件的計(jì)算結(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計(jì)算為true
}
else if(condition3)
{
if(condition4)
{
// 何時執(zhí)行的代碼塊
// 只有condition1,condition3和condition4的計(jì)算結(jié)果為true
}
else if(condition5)
{
// 何時執(zhí)行的代碼塊
// 只有condition1,condition3和condition5的計(jì)算結(jié)果為true
}
else
{
// 何時執(zhí)行的代碼塊
// condition1和condition3評估為true
// condition4和condition5的計(jì)算結(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
使用三元運(yùn)算符?:代替簡單的if else語句。