C# 提供了许多决策语句,帮助 C# 程序基于某些逻辑条件的流程。 在这里,您将了解 if、else if、else 和嵌套 if else 语句以根据条件控制流程。
C# 包括以下形式的 if 语句:
一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
if(condition)
{
// if 条件为真时执行的代码块
}
示例
int i = 10, j = 20;
if (i < j)
{
Console.WriteLine("i is less than j"); //因为i小于j 所以会执行
}
if (i > j)
{
Console.WriteLine("i is greater than j");//因为i没有大于j 则不会执行
}
条件表达式必须返回一个布尔值,否则 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");
}
条件是一个方法也行
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 条件评估为 false 时执行。 因此, if 或 else if 两个只能执行一个,不能同时执行。
if(condition1)
{
// 当 condition1为真时执行
}
else if(condition2)
{
// condition1 为假的
// condition2为真,
// 才会执行这边的代码
}
else if(condition3)
{
// 当 condition1 和condition2 都为假时
// 当 condition3 为真的时候。
// 才会执行这边的代码
}
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"); //执行
}
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"); //执行
}
C# 支持在另一个 if else 语句中的 if else 语句。 这称为嵌套 if else 语句。 嵌套的 if 语句使代码更具可读性。
if(condition1)
{
if(condition2)
{
//当 condition1 和 condition2 都为 真的时候执行
}
else if(condition3)
{
if(condition4)
{
//当condition1, 为真
// 然后condition2为 假
//然后 condition3, 为真
//然后 condition4 为真 的时候执行这边的代码
}
else if(condition5)
{
//当condition1, 为真
// 然后condition2为 假
//然后 condition3, 为真
//然后 condition4 为假
//然后condition5为真 的时候执行这边的代码
}
else
{
//当condition1, 为真
// 然后condition2为 假
//然后 condition3, 为真
//然后 condition4 为假
//然后condition5为假 的时候执行这边的代码
}
}
}
示例
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");
}
使用三元运算符 ?: 可以用来替代 if else 语句。