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

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

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

加上default可增加代码可读性

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

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

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

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

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

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

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

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

还可以打印一些log出来

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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