sinat_33460472
哆啦CMeng
采纳率39.1%
2018-07-18 07:46 浏览 3.2k

C#中switch语句为什么必须添加default?

5

C#中switch语句为什么必须添加default?是因为安全性吗,求大神指教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

27条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2018-07-18 12:05

    作为一个使用了C#十几年的人,我还真没听说C#必须用default,你是从哪里得知这一规定的。表示非常震惊。

    点赞 6 评论 复制链接分享
  • queena_qing CH!NG 2018-07-18 07:56

    default语句是为了防止出现case判断全部不匹配时程序出错的状况

    点赞 2 评论 复制链接分享
  • ixihuancsdn ixihuancsdn 2018-07-18 07:58

    加上default可增加代码可读性

    点赞 1 评论 复制链接分享
  • lan93276 lan93276 2018-07-18 07:48

    就像if else if ,后面要有else一样

    点赞 评论 复制链接分享
  • nbzdds08 nbzdds08 2018-07-18 07:52

    确实可以理解为一种安全的编程方式
    我个人理解,其作用为:防止不进入分支的错误。因为有的时候,我们在写程序的时候,可能会有考虑不到的情况。
    而default一方面可以帮助我们避免不进入分支的错误,另一方面可以帮助我们发现我们未考虑到的情况(可以在default中抛出异常信息)

    点赞 评论 复制链接分享
  • wangtong198 wangtong198 2018-07-18 07:53

    我觉得有两个方面的原因:
    1、代码的可读性
    即使考虑了所有的case,添加了default分支也可以提高代码的可读性。
    2、可以避免不必要的错误
    default分支中添加一些打印语句,当正常的分支无法处理时,进入default分支,可以让开发者看到当前代码的走向。
    可以在default分支中加入适当的打印信息,方便代码调试。

    点赞 评论 复制链接分享
  • sa6657128 sa6657128 2018-07-18 07:57

    严谨,易读,写上不会有错,不写可能会出错。

    点赞 评论 复制链接分享
  • ZPandTT 拼一步到位 2018-07-18 08:04
    不是必须的,在case都不满足的时候,程序会去找default,找不到了,就退出整个switch了,还是带上比较好
    
    点赞 评论 复制链接分享
  • shida_zhao 蜜獾2017 2018-07-18 08:52

    不是必须的。 switch case 语句是一个条件选择语句,找到相同的case值做为入口,执行后面的程序;若所有的case都不满足,则找default入口;若未找到则退出整个switch语句。 所以default只是一个备用的入口,有没有都无所谓

    点赞 评论 复制链接分享
  • w53258896 w卫卫 2018-07-18 09:06

    提供一种写法 这样如果都没有的情况你可以额外提供一种出口

    点赞 评论 复制链接分享
  • dqingbo dqingbo 2018-07-18 09:10

    可以作为检查条件的一种手段:用来调试程序
    case default:
    assert(true);
    break;

    还可以打印一些log出来

    点赞 评论 复制链接分享
  • hzzyli 渲染的一抹寂静 2018-07-18 09:12

    switch case 语句是一个条件选择语句,找到相同的case值做为入口,执行后面的程序;若所有的case都不满足,则找default入口;若未找到则退出整个switch语句。 所以default只是一个备用的入口,有没有都无所谓。

    点赞 评论 复制链接分享
  • m0_37275892 书香玫瑰 2018-07-18 09:19

    因为在除了case的那几种情况,程序有可能一个都不进的,会造成result没有赋值了

    点赞 评论 复制链接分享
  • Q_Q_Q1 Q_Q_Q1 2018-07-18 09:58

    可以不添加,类似if...else...中的else,可以不用

    点赞 评论 复制链接分享
  • qq_38198562 lamily52 2018-07-18 10:30

    也可以不用加,用于严谨,能减少这部分代码错误

    点赞 评论 复制链接分享
  • qq_39165336 睡到丶自丨然醒 2018-07-18 12:04

    switch穿透了解一下,有一个default的话不管什么情况进来如果不用break的话都会执行一遍default,不过一般用不上╮(╯▽╰)╭

    点赞 评论 复制链接分享
  • qq_41681924 北风啪啪的吹 2018-07-18 13:55

    这个不是必须的,只要有相应的case语句就可以

    点赞 评论 复制链接分享
  • chnnhb 水平低得要死 2018-07-18 15:42

    不是必须的。可以不添加。

    点赞 评论 复制链接分享
  • weixin_42297168 weixin_42297168 2018-07-19 01:34

    不是必须的。 switch 语句是一个条件选择语句,找到相同的case值做为入口,执行后面的程序;若所有的case都不满足,则找default入口;若未找到则退出整个switch语句。 所以default只是一个备用的入口,有没有都无所谓。

    点赞 评论 复制链接分享
  • wyw8152 逍遥岚轩 2018-07-19 02:25

    default只是提供默认选项而已,并不是必须的。

    点赞 评论 复制链接分享
  • yanghuatian yanghuatian 2018-07-19 03:11

    你说的应该是开发准则把。
    语法上是可有可没有。

    点赞 评论 复制链接分享
  • xinshuai_1 编程一对一服务 2018-07-19 07:18

    从程序开发的角度,应该加上,因为程序很有可能就会出异常,加上这个的目的是,所有的都匹配不了的时候,执行这个。而不是必须。

    点赞 评论 复制链接分享
  • qq_38319117 _肆 2018-07-19 08:40

    《C程序设计语言》是c语言的创始人写的,里面的原话翻译过来是“default情形是任选的。如果没有default情形并且没有一个情形与表达式的值匹配,那么该switch语句不执行任何动作.” 所以你switch语句必须添加default是在那本书上看来的

    点赞 评论 复制链接分享
  • u014427704 u014427704 2018-07-20 01:44

    可以不加,但加上也没有坏处,一旦switch到不存在的量可以避免报错

    点赞 评论 复制链接分享
  • qq_31362105 小迟丶 2018-07-20 01:50

    不是必须的。这个就和if语句差不多。在if语句里,else是必须的吗?? 不是,那不加else有问题吗? 没问题, 但是要注意在不加else的时候,代码执行是否满足要求

    点赞 评论 复制链接分享
  • iYuhahaha iYuhahaha 2018-07-23 06:27

    不是必须的啊,只不过在逻辑上来说加上会跟完善,其实还是要你的逻辑怎么写

    点赞 评论 复制链接分享
  • qq_36545099 无悔青春_j进无止境 2018-07-23 08:00

    default只是一个默认值,可以加可以不加,加上以后可以保证代码的容错性和稳健性

    点赞 评论 复制链接分享

相关推荐