C# - if、else if、else 语句
更新于:
C# 提供了许多决策语句,可根据特定的逻辑条件帮助控制 C# 程序的流程。在这里,您将了解 if、else if、else 和嵌套 if else 语句,以根据条件控制流程。
C# 包含以下几种 if 语句:
- if 语句
- else-if 语句
- else 语句
C# if 语句
if 语句包含一个布尔条件,后跟一个要执行的单行或多行代码块。在运行时,如果布尔条件评估为 true,则代码块将被执行,否则不执行。
语法
if(condition)
示例:if 语句
int i = 10, j = 20;
if (i < j)
{
Console.WriteLine("i is less than j");
}
if (i > j)
{
Console.WriteLine("i is greater than j");
}
输出
i 小于 j在上面的示例中,第一个 if
语句中的布尔条件 i < j
评估为 true,因此 C# 编译器将执行随后的代码块。第二个 if
语句的条件 i > j
评估为 false,因此编译器将不会执行其代码块。
条件表达式必须返回一个布尔值,否则 C# 编译器将给出编译时错误。
示例:错误的 if 语句
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
语句中调用返回布尔值的函数。
示例:将函数作为条件调用
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;
}
else if 语句
一个 if
语句之后可以使用多个 else if
语句。它只会在 if
条件评估为 false 时才执行。因此,if
或其中一个 else if
语句可以执行,但不能两者都执行。
语法
if(condition1)else if(condition2)else if(condition3)
以下示例演示了 else if
语句。
示例:else if 语句
int i = 10, j = 20;
if (i == j)
{
Console.WriteLine("i is equal to j");
}
else if (i > j)
{
Console.WriteLine("i is greater than j");
}
else if (i < j)
{
Console.WriteLine("i is less than j");
}
输出
i 小于 jelse 语句
else
语句只能在 if
或 else if
语句之后出现,并且在 if-else
语句中只能使用一次。else
语句不能包含任何条件,并且会在所有先前的 if
和 else if
条件评估为 false 时执行。
示例:else 语句
int i = 20, j = 20;
if (i > j)
{
Console.WriteLine("i is greater than j");
}
else if (i < j)
{
Console.WriteLine("i is less than j");
}
else
{
Console.WriteLine("i is equal to j");
}
输出
i 等于 j嵌套 if 语句
C# 支持在另一个 if else
语句内部使用 if else
语句。这称为嵌套 if else
语句。嵌套的 if
语句使代码更具可读性。
语法
if(条件1) { if(条件2) { // 当条件1和条件2都评估为true时执行的代码块 } else if(条件3) { if(条件4) { // 当仅条件1、条件3和条件4评估为true时执行的代码块 } else if(条件5) { // 当仅条件1、条件3和条件5评估为true时执行的代码块 } else { // 当条件1和条件3评估为true, // 条件4和条件5评估为false时执行的代码块 } } }
以下示例演示了嵌套 if else
语句。
示例:嵌套 if else 语句
int i = 10, j = 20;
if (i != j)
{
if (i < j)
{
Console.WriteLine("i is less than j");
}
else if (i > j)
{
Console.WriteLine("i is greater than j");
}
}
else
{
Console.WriteLine("i is equal to j");
}
输出
i 小于 j使用三元运算符 ?: 代替简单的 if else
语句。