C#中的switch语句详解

在C#编程语言中,switch语句是一种用于根据不同的条件执行不同代码块的控制流结构。它允许程序根据一个表达式的值,选择执行与该值相关联的特定代码块。本文将详细介绍switch语句的语法、用法和示例代码。

switch语句的基本语法如下:

switch (expression)
{
    
    
    case value1:
        // 代码块1
        break;
    case value2:
        // 代码块2
        break;
    // 可以有更多的case语句
    default:
        // 默认代码块
        break;
}

首先,我们需要一个表达式,它的值将被用于与case语句中的值进行比较。根据表达式的值,程序将跳转到与匹配的case值相对应的代码块中执行相应的代码。如果没有找到匹配的case值,将执行默认代码块(default)。

在每个case语句中,我们可以编写一段代码块,以执行与之相关的操作。代码块可以包含一个或多个语句。请注意,每个case语句结束时需要使用break关键字来终止当前case的执行,并跳出switch语句。如果没有使用break关键字,程序将继续执行下一个case语句,这被称为“fall-through”。通常,我们希望在每个case后面使用break,以避免不必要的执行。

如果没有任何一个case与表达式的值匹配,将执行默认代码块。默认代码块是可选的,可以在switch语句中省略。

下面是一个简单的示例,演示了如何使用switch语句来根据不同的水果名称输出相应的颜色:

string fruit = "apple";

switch (fruit)
{
    
    
    case "apple":
        Console.WriteLine("Apples are red.");
        break;
    case "banana":
        Console.WriteLine("Bananas are yellow.");
        break;
    case "orange":
        Console.WriteLine("Oranges are orange.");
        break;
    default:
        Console.WriteLine("Unknown fruit.");
        break;
}

在上面的示例中,我们使用字符串变量fruit作为switch语句的表达式。根据fruit的值,程序将选择执行相应的代码块。在这种情况下,我们的表达式值是"apple",因此将执行与case "apple"匹配的代码块,输出"Apples are red."。

如果我们将fruit的值更改为"banana",将执行与case "banana"匹配的代码块,输出"Bananas are yellow.“。如果fruit的值是"orange”,将执行与case "orange"匹配的代码块,输出"Oranges are orange.“。如果fruit的值不匹配任何一个case,将执行默认代码块,输出"Unknown fruit.”。

需要注意的是,switch语句的表达式可以是整数、字符、字符串、枚举或其他可比较的类型。

除了单个值的匹配,C#还支持多个值的匹配。多个case值可以共享同一个代码块。例如:

int day = 5;

switch (day)
{
    
    
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        Console.WriteLine("Weekday");
        break;
    case 6:
    case 7:
        Console.WriteLine("Weekend");
        break;
    default:
        Console.WriteLine("Invalid day");
        break;
}

在上面的示例中,我们使用一个整数变量day作为switch语句的表达式。如果day的值为1、2、3、4或5,将执行共享的代码块,输出"Weekday"。如果day的值为6或7,将执行另一个共享的代码块,输出"Weekend"。C#中的switch语句详解

在C#编程语言中,switch语句是一种用于根据不同的条件执行不同代码块的控制流结构。它允许程序根据一个表达式的值,选择执行与该值相关联的特定代码块。本文将详细介绍switch语句的语法、用法和示例代码。

switch语句的基本语法如下:

switch (expression)
{
    
    
    case value1:
        // 代码块1
        break;
    case value2:
        // 代码块2
        break;
    // 可以有更多的case语句
    default:
        // 默认代码块
        break;
}

首先,我们需要一个表达式,它的值将被用于与case语句中的值进行比较。根据表达式的值,程序将跳转到与匹配的case值相对应的代码块中执行相应的代码。如果没有找到匹配的case值,将执行默认代码块(default)。

在每个case语句中,我们可以编写一段代码块,以执行与之相关的操作。代码块可以包含一个或多个语句。请注意,每个case语句结束时需要使用break关键字来终止当前case的执行,并跳出switch语句。如果没有使用break关键字,程序将继续执行下一个case语句,这被称为“fall-through”。通常,我们希望在每个case后面使用break,以避免不必要的执行。

如果没有任何一个case与表达式的值匹配,将执行默认代码块。默认代码块是可选的,可以在switch语句中省略。

下面是一个简单的示例,演示了如何使用switch语句来根据不同的水果名称输出相应的颜色:

string fruit = "apple";

switch (fruit)
{
    
    
    case "apple":
        Console.WriteLine("Apples are red.");
        break;
    case "banana":
        Console.WriteLine("Bananas are yellow.");
        break;
    case "orange":
        Console.WriteLine("Oranges are orange.");
        break;
    default:
        Console.WriteLine("Unknown fruit.");
        break;
}

在上面的示例中,我们使用字符串变量fruit作为switch语句的表达式。根据fruit的值,程序将选择执行相应的代码块。在这种情况下,我们的表达式值是"apple",因此将执行与case "apple"匹配的代码块,输出"Apples are red."。

如果我们将fruit的值更改为"banana",将执行与case "banana"匹配的代码块,输出"Bananas are yellow.“。如果fruit的值是"orange”,将执行与case "orange"匹配的代码块,输出"Oranges are orange.“。如果fruit的值不匹配任何一个case,将执行默认代码块,输出"Unknown fruit.”。

需要注意的是,switch语句的表达式可以是整数、字符、字符串、枚举或其他可比较的类型。

除了单个值的匹配,C#还支持多个值的匹配。多个case值可以共享同一个代码块。例如:

int day = 5;

switch (day)
{
    
    
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        Console.WriteLine("Weekday");
        break;
    case 6:
    case 7:
        Console.WriteLine("Weekend");
        break;
    default:
        Console.WriteLine("Invalid day");
        break;
}

在上面的示例中,我们使用一个整数变量day作为switch语句的表达式。如果day的值为1、2、3、4或5,将执行共享的代码块,输出"Weekday"。如果day的值为6或7,将执行另一个共享的代码块,输出"Weekend"。

猜你喜欢

转载自blog.csdn.net/PodProgram/article/details/133339806