猿教程 Logo

C# Switch

C#包括另一个决策语句,称为switch。 switch语句根据表达式的结果值执行代码块。

switch语法:

switch(expression)
{
    case <value1>
        // code block
    break;
    case <value2>
        // code block
    break;
    case <valueN>
        // code block
    break;
    default 
        // code block
    break;
}

根据上面的语法,switch语句包含一个表达式到括号中。 它还包括多个case标签,其中每个case表示一个特定的字面值。 多个case之间由break关键字分隔,停止特定情况的执行。 此外,如果没有case值满足表达式,则swtich可以执行默认情况。

注意:

case语句中的条件必须是唯一的。 它可以是bool,char,string,integer,enum或相应的可空类型。

参考下面一个简单的switch语句的例子。

int x = 10;
switch (x)
{ 
    case 5:
        Console.WriteLine("Value of x is 5");
        break;
    case 10:
        Console.WriteLine("Value of x is 10");
        break;
    case 15:
        Console.WriteLine("Value of x is 15");
        break;
    default:
        Console.WriteLine("Unknown value");
        break;
}

输出:

Value of x is 10

switch语句可以包括任何数据类型的表达式或变量,例如string,bool,int,enum,char等。

string statementType = "switch";
switch (statementType)
{
    case "if.else":
        Console.WriteLine("if...else statement");
        break;
    case "ternary":
        Console.WriteLine("Ternary operator");
        break;
    case "switch":
        Console.WriteLine("switch statement");
        break;
}

输出:

switch statement

swtich中的goto

swtich的case中可以使用goto跳过不同的情况。

string statementType = "switch";
switch (statementType)
{
    case "DecisionMaking":
        Console.Write(" is a decision making statement.");
        break;
    case "if.else":
        Console.Write("if-else");
        break;
    case "ternary":
        Console.Write("Ternary operator");
        break;
    case "switch":
        Console.Write("switch statement");
        goto case "DecisionMaking";
}

输出:

switch statement is a decision making statement.

嵌套switch

可以通过将内部swtich语句写在外部swtich语句内来实现在C#中使用嵌套swtich语句。

int j = 5;
switch (j)
{
    case 5:
        Console.WriteLine(5);
        switch (j - 1)
        {
            case 4:
                Console.WriteLine(4);
                switch (j - 2)
                {
                    case 3:
                        Console.WriteLine(3);
                        break;
                }
                break;
        }
        break;
    case 10:
        Console.WriteLine(10);
        break;
    case 15:
        Console.WriteLine(15);
        break;
    default:
        Console.WriteLine(100);
        break;
}

输出:

5
4
3
要点
  1. switch语句根据一组常量测试变量。

  2. switch语句包含多个大小写标签。

  3. switch case包括break关键字以停止开关盒的执行。

  4. 没有case满足表达式时,将执行默认情况。

  5. 允许嵌套的switch语句。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/CSharp/Cshartp-switch.html