C# - 决策语句

决策语句

决策结构要求程序员指定程序要评估或测试的一个或多个条件,以及在条件成立时要执行的一个或多个语句,以及(可选)在条件不成立时要执行的其他语句。

以下是大多数编程语言中常见的典型决策结构的一般形式 -

C# 中的决策语句

决策语句的类型

C# 提供了以下类型的决策语句。点击以下链接查看详情 -

序号 声明 &说明
1 if 语句

if 语句由一个布尔表达式后跟一个或多个语句组成。

2 if...else 语句

if 语句后面可以跟一个可选的 else 语句,当布尔表达式为 false 时执行该语句。

3 嵌套 if 语句

您可以在一个 ifelse if 语句中嵌套另一个 ifelse if 语句。

4 switch 语句

switch 语句允许测试变量是否与值列表相等。

5 嵌套 switch 语句

您可以在一个 switch 语句中使用另一个 switch 语句。

if 语句

if 语句由一个布尔表达式后跟一个或多个语句组成。

示例

以下示例演示了如何在 C# 中使用简单的 if 语句:

using System;

namespace DecisionMaking
{
    class Program
    {
        static void Main(string[] args)
        {
            // 定义局部变量
            int temperature = 30;

            // 使用 if 语句检查条件
            if (temperature > 25)
            {
                Console.WriteLine("It's a hot day.");
            }

            Console.WriteLine($"Current temperature: {temperature} degree C");
        }
    }
}

当编译并执行上述代码时,它会产生以下结果 -

It's a hot day.
Current temperature: 30 degree C

if else 语句

if 语句后可以跟一个可选的 else 语句,该语句在布尔表达式为 false 时执行。

示例

以下示例演示了如何在 C# 中使用 if else 语句:

using System;

namespace DecisionMaking
{
    class Program
    {
        static void Main(string[] args)
        {
            // 定义局部变量
            int temperature = 21;

            // 使用 if-else 语句检查条件
            if (temperature > 25)
            {
                Console.WriteLine("It's a hot day.");
            }
            else
            {
                Console.WriteLine("The weather is pleasant.");
            }

            Console.WriteLine($"Current temperature: {temperature} degree C");
        }
    }
}

当编译并执行上述代码时,它会产生以下结果 -

The weather is pleasant.
Current temperature: 21 degree C

嵌套 if 语句

在 C# 中,嵌套 if-else 语句始终是合法的,这意味着您可以在一个 if 或 else if 语句中使用另一个 if 或 else if 语句。

示例

以下示例演示了如何在 C# 中使用嵌套 if 语句:

using System;

namespace DecisionMaking
{
    class Program
    {
        static void Main(string[] args)
        {
            // 定义局部变量
            int temperature = 30;

            // 使用嵌套的 if 语句检查条件
            if (temperature > 0)
            {
                if (temperature < 15)
                {
                    Console.WriteLine("It's a cold day.");
                }
                else if (temperature <= 15 && temperature >= 25)
                {
                    Console.WriteLine("The weather is pleasant.");
                }
                else
                {
                    Console.WriteLine("It's a hot day.");
                }
            }
            else
            {
                Console.WriteLine("It's freezing outside!");
            }

            Console.WriteLine($"Current temperature: {temperature} degree C");
        }
    }
}

当编译并执行上述代码时,它会产生以下结果 -

It's a hot day.
Current temperature: 30 degree C

switch 语句

switch 语句允许测试变量与一系列值是否相等。每个值称为一个 case,并且会针对每个 switch case 检查被切换的变量。

示例

以下示例演示了如何在 C# 中使用嵌套 if 语句:

using System;

namespace DecisionMaking
{
    class Program
    {
        static void Main(string[] args)
        {
            int day = 3;
            
            switch (day)
            {
                case 1:
                    Console.WriteLine("Sunday");
                    break;
                case 2:
                    Console.WriteLine("Monday");
                    break;
                case 3:
                    Console.WriteLine("Tuesday");
                    break;
                case 4:
                    Console.WriteLine("Wednesday");
                    break;
                case 5:
                    Console.WriteLine("Thursday");
                    break;
                case 6:
                    Console.WriteLine("Friday");
                    break;
                case 7:
                    Console.WriteLine("Saturday");
                    break;
                default:
                    Console.WriteLine("Invalid day number! Please enter a number between 1 and 7.");
                    break;
            }
        }
    }
}

当编译并执行上述代码时,它会产生以下结果 -

Tuesday

?: 运算符

我们在上一章中介绍了 条件运算符 ?:,它可用于替换 if...else 语句。其一般形式如下:

Exp1 ? Exp2 : Exp3;

其中 Exp1、Exp2 和 Exp3 为表达式。注意冒号的使用和位置。

? 表达式的值确定如下:Exp1 被求值。如果它为真,则 Exp2 被求值并成为整个 ? 表达式的值。如果 Exp1 为假,则 Exp3 被求值并成为表达式的值。