C# - if, else if, else 语句
本文关键字:else if 语句 | 更新日期: 2023-09-12 17:38:54
C# 提供了许多决策语句,这些语句有助于基于某些逻辑条件的 C# 程序的流程。 在这里,您将了解 if、else if、else 和嵌套的 if else 语句,以根据条件控制流。
C# 包括以下风格的 if 语句:
C# if 语句
if 语句包含一个布尔条件,后跟要执行的单行或多行代码块。 在运行时,如果布尔条件的计算结果为 true,则将执行代码块,否则不执行。
语法:if(condition) { // code block to be executed when if condition evaluates to true }
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 is less than j在上面的示例中,第一个 if
语句中的布尔条件i < j
计算结果为 true,因此 C# 编译器将执行以下代码块。
第二个 if
语句的条件i > j
计算结果为 false,因此编译器不会执行其代码块。
条件表达式必须返回布尔值,否则 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
语句中调用函数。
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) { // code block to be executed when if condition1 evaluates to true } else if(condition2) { // code block to be executed when // condition1 evaluates to flase // condition2 evaluates to true } else if(condition3) { // code block to be executed when // condition1 evaluates to flase // condition2 evaluates to false // condition3 evaluates to true }
下面的示例演示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 is less than jelse 语句
else
语句只能在if
或else if
语句之后出现
并且只能在if-else
语句中使用一次。
else
语句不能包含任何条件,并且将在所有先前的if
和else if
条件的计算结果为 false 时执行。
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 is equal to j嵌套 if 语句
C# 支持在另一个语句中if else
语句if else
语句。这称为嵌套if else
语句。
嵌套的 if
语句使代码更具可读性。
if(condition1) { if(condition2) { // code block to be executed when // condition1 and condition2 evaluates to true } else if(condition3) { if(condition4) { // code block to be executed when // only condition1, condition3, and condition4 evaluates to true } else if(condition5) { // code block to be executed when // only condition1, condition3, and condition5 evaluates to true } else { // code block to be executed when // condition1, and condition3 evaluates to true // condition4 and condition5 evaluates to false } } }
下面的示例演示嵌套的 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 is less than j使用 Ternary 运算符 ?: 而不是简单的 if else
语句。