C# If 条件语句
C#提供了许多决策语句,这些语句可根据某些逻辑条件帮助C#程序的流程。在这里,您将了解if,else if,else和嵌套的if else语句,以根据条件控制流程。
C#包含以下几种if语句:if 语句
else-if 语句
else 语句
C#if 语句
if 语句包含一个布尔条件,后跟要执行的单行或多行代码块。在运行时,如果布尔条件评估为true,则将执行代码块,否则不执行。
语法:
if(condition)
{
//if条件为真时要执行的代码块
}
示例:if声明inti=10,j=20;
if(i
{
Console.WriteLine("i小于j");
}
if(i>j)
{
Console.WriteLine("i大于j");
}
输出:i小于j
在上面的示例中,第一条 if 语句中的布尔条件 i < j 求值为true,因此C#编译器将执行以下代码块。第二条if语句的条件 i > j 评估为false,因此编译器将不会执行其代码块。
条件表达式必须返回布尔值,否则C#编译器将给出编译时错误。
示例:错误的if语句inti=10,j=20;
if(i+1)
{
Console.WriteLine("iislessthanj");
}
if(i+j)
{
Console.WriteLine("iisgreaterthanj");
}
您可以在 if 语句中调用一个返回布尔值的函数。
示例:调用函数作为条件staticvoidMain(string[]args)
{
inti=10,j=20;
if(isGreater(i,j))
{
Console.WriteLine("iislessthanj");
}
if(isGreater(j,i))
{
Console.WriteLine("jisgreaterthani");
}
}
staticboolisGreater(inti,intj)
{
returni>j;
}
else if 语句
在if语句之后可以使用多个else if语句。它只在if条件的计算结果为false时执行。因此,if语句或else if语句之一可以执行,但不能同时执行。
语法:
if(condition1)
{
//如果condition1评估为true时要执行的代码块
}
elseif(condition2)
{
//何时执行的代码块
//condition1计算为flase
//condition2计算为true
}
elseif(condition3)
{
//何时执行的代码块
//condition1计算为flase
//condition2计算为false
//condition3计算为true
}
下面的示例演示else if语句。
示例:else if 语句inti=10,j=20;
if(i==j)
{
Console.WriteLine("i等于j");
}
elseif(i>j)
{
Console.WriteLine("i大于j");
}
elseif(i
{
Console.WriteLine("i小于j");
}
输出:i小于j
else 语句
else语句只能在if或else if语句之后出现,并且只能在if-else语句中使用一次。else语句不能包含任何条件,并且将在前面所有if和else if条件的计算结果都为false时执行。
示例:else 语句inti=20,j=20;
if(i>j)
{
Console.WriteLine("i大于j");
}
elseif(i
{
Console.WriteLine("i小于j");
}
else
{
Console.WriteLine("i等于j");
}
输出:i等于j
嵌套 if 语句
C支持另一个if-else语句中的if-else语句。这称为嵌套的if-else语句。嵌套的if语句使代码更具可读性。
语法:
if(condition1)
{
if(condition2)
{
//何时执行的代码块
//condition1和condition2计算为true
}
elseif(condition3)
{
if(condition4)
{
//何时执行的代码块
//只有condition1,condition3和condition4的计算结果为true
}
elseif(condition5)
{
//何时执行的代码块
//只有condition1,condition3和condition5的计算结果为true
}
else
{
//何时执行的代码块
//condition1和condition3评估为true
//condition4和condition5的计算结果为false
}
}
}
下面的示例演示了嵌套if else语句。
示例:嵌套的if else语句
inti=10,j=20;
if(i!=j)
{if(i
{
Console.WriteLine("i小于j");
}elseif(i>j)
{
Console.WriteLine("i大于j");
}
}else{
Console.WriteLine("i等于j");
}
试试看
输出:i小于j
使用三元运算符?:代替简单的if else语句。