C# - 判断 if, else if, else

C# 提供了许多决策语句,帮助 C# 程序基于某些逻辑条件的流程。 在这里,您将了解 if、else if、else 和嵌套 if else 语句以根据条件控制流程。

C# 包括以下形式的 if 语句:

  • if 语句
  • else-if 语句
  • else 语句

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;                    
}

else if 语句

在一个 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 语句

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"); //执行
}

嵌套 If语句

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 语句。

下一篇:C# 三元运算符
最近更新的
...