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();
        }
    }
}

 

转载于:https://www.cnblogs.com/melao2006/p/4239401.html

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值