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

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

c#

27个回答

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

加上default可增加代码可读性

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

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

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

ElegyWine
ElegyWine 也算是一种固有的编码格式吧,
接近 2 年之前 回复
weixin_39985106
weixin_39985106 有点类似if else吧
接近 2 年之前 回复
nbzdds08
nbzdds08 另外,补充一点,default不是必须要有的。但强烈建议保留default
接近 2 年之前 回复

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

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

不是必须的,在case都不满足的时候,程序会去找default,找不到了,就退出整个switch了,还是带上比较好

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

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

共27条数据 1 3 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问