Skip to content
On this page

switch 结构

if...else 之外,C#中还有一种 switch 条件结构,可以用来对变量进行多个分支的等值判断。语法如下:

img

  • (变量)与每一个 case 后面的常量进行等值比较,如果相等,就执行对应的分支。
  • 执行分支以后,break 关键字会使 switch 结构中止,不会再判断后面的常量。
  • 如果变量与所有的常量都不相同,则执行 default 后面的分支。

下面的代码,根据运算符完成了四则运算中的一项:

img

上面的代码,因为变量 oper 的值与 case '*' 匹配,所以会输出乘积“18”。

switch 中的(变量)只能是 3 种类型:整型 (如 int )、字符型 ( char )、字符串类型 ( string )。

任务

小明发月饼,我们再用 switch 结构发一次。代码中缺少一些关键字,请补充完整。

代码

csharp
using System;
using System.Collections.Generic;
using System.Text;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            string job = "处长";//职务
            switch (job) 
            {
                case "局长": Console.Write("发双黄月饼"); break;
                case "处长": Console.Write("发蛋黄月饼"); break;
                case "科长": Console.Write("发枣泥月饼"); break;
                default : Console.Write("发五仁月饼"); break;
            }
        }
    }
}