zoukankan      html  css  js  c++  java
  • C# switch语句

    一、C# switch语句

    if语句每次判断只能实现两种选择,而switch语句每次判断可以实现多种选择。

    基本语法格式如下:

    switch(controlling-expression)
    {
        case constant-expression:
            {语句块}
            跳转语句(如break、return、goto)
        case constant-expression:
            {语句块}
            跳转语句(如break、return、goto)
        ......
        default:
            {语句块}
            跳转语句
    }

    ?controlling-expression:控制表达式。可以是sbyte、byte、short、ushort、int、uint、long、ulong、char、string或enum类型。
    ?constant-expression:常数表达式。必须属于或者能隐式转换成控制类型controlling-expression。
    switch关键字后面的表达式计算一次,如果找到和表达式的值相等的一个常数表达式,就执行case标识的代码块。进入case块之后,程序将一直执行,直到遇到break语句结束。如果没有与之相匹配的值,就运行由可选的default标签所标识的语句块。如果没有可选的default标签,程序会跳过整个switch语句,从它的结束大括号之后的第一个语句继续执行。

    二、提示

    在switch语句中,不允许两个或两个以上的case具有相同的值。

    有时候,switch语句要比if语句更加简洁!

    三、技巧

    如果要像C、C++那样,执行完一个case子句以后,继续遍历其它的子句,只要加入下面的两条跳转语句即可。

    ?goto case label:跳至标签语句执行。
    ?goto default:跳至default标签执行。
    类似的代码如下:

    total = 365;
    switch(month)
    {
        case 1: total -= 31; goto case 2;
        case 2: total -= 28; goto case 3;
        case 3: total -= 30; goto case 4;
        ......
        case 12: total -= 31; goto case default;
        default: total += day;
    }

    四、示例
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Test
    {
        class Program
        {
            static void Main(string[] args)
            {
                // C# switch语句-www.baike369.com
                Console.WriteLine("请输入考试分数(0-100的整数):");
                int score = Convert.ToInt32(Console.ReadLine());
                switch (score/10)
                {
                    case 10:
                        Console.WriteLine("满分");
                        break;
                    case 9:
                        Console.WriteLine("优秀");
                        break;
                    case 8:
                        Console.WriteLine("良好");
                        break;
                    case 7:
                        Console.WriteLine("较好");
                        break;
                    case 6:
                        Console.WriteLine("及格");
                        break;
                    default:
                        Console.WriteLine("不及格");
                        break;
                }
                Console.ReadLine();
            }
        }
    }

  • 相关阅读:
    EIGENSTRAT计算PCA的显著性
    全基因组关联分析(GWAS):为何我的QQ图那么飘
    23andme的申请流程和注意事项
    linux生成新的列(awk)
    linux追加所有文件到新的文件(cat)
    一行命令学会全基因组关联分析(GWAS)的meta分析
    plink修改正负链(--flip, change the positive and negative stand)
    常见变异影响常见疾病,罕见变异影响罕见疾病?
    GWAS: 网页版的基因型填充(genotype imputation)
    TempData知多少
  • 原文地址:https://www.cnblogs.com/melao2006/p/4239401.html
Copyright © 2011-2022 走看看