编辑这个页面须要登录或更高权限!

C# If 条件语句

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

C#包含以下几种if语句:

  1. if 语句

  2. else-if 语句

  3. else 语句

C#if 语句

if 语句包含一个布尔条件,后跟要执行的单行或多行代码块。在运行时,如果布尔条件评估为true,则将执行代码块,否则不执行。

语法:
if(condition)
{
    //if 条件为真时要执行的代码块
}
int i = 10, j = 20;

if (i < j)
{
    Console.WriteLine("i小于j");
}        

if (i > j)
{
    Console.WriteLine("i大于j");
}
输出:
i小于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)
{
    //如果condition1评估为true时要执行的代码块
}
else if(condition2)
{
    // 何时执行的代码块 
    // condition1计算为flase
    // condition2计算为true
}
else if(condition3)
{
    // 何时执行的代码块 
    // condition1计算为flase
    // condition2计算为false
    // condition3计算为true
}

下面的示例演示else if语句。

int i = 10, j = 20;

if (i == j)
{
    Console.WriteLine("i等于j");
}
else if (i > j)
{
    Console.WriteLine("i大于j");
}
else if (i < j)
{
    Console.WriteLine("i小于j");
}
输出:
i小于j

else 语句

else语句只能在if或else if语句之后出现,并且只能在if-else语句中使用一次。else语句不能包含任何条件,并且将在前面所有if和else if条件的计算结果都为false时执行。

int i = 20, j = 20;

if (i > j)
{
    Console.WriteLine("i 大于 j");
}
else if (i < j)
{
    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
    }
    else if(condition3)
    {
        if(condition4)
        {
            // 何时执行的代码块 
            // 只有condition1,condition3和condition4的计算结果为true
        }
        else if(condition5)
        {
            // 何时执行的代码块 
            // 只有condition1,condition3和condition5的计算结果为true
        }
        else
        {
            // 何时执行的代码块 
            // condition1和condition3评估为true 
            // condition4和condition5的计算结果为false
        }
    }
}

下面的示例演示了嵌套if else语句。

示例:嵌套的if else语句
int i = 10, j = 20;

if (i != j)
{   if (i < j)
    {        
        Console.WriteLine("i小于j");
    }    else if (i > j)
    {       
       Console.WriteLine("i大于j");
    }
}else{
    Console.WriteLine("i等于j");
}
输出:
i小于j

使用三元运算符?:代替简单的if else语句。