|
|
1
91
使用逗号运算符分隔case语句
|
|
2
23
AS 贾里德 也就是说,您需要使用逗号运算符来分隔case语句。
这个
|
|
|
3
20
Jaredpar是正确的,但您也可以使用
这将是0或1什么都不做,2或3打印命中…to构造是一个范围… |
|
|
4
10
编辑: 假设vb.net不允许使用case-oring,似乎我错了。我在想C和IL,似乎我错了。 然而,正如有人指出的那样,您的代码不起作用的原因是案例2或3将2或3作为按位“或”进行了评估,因此对案例3进行了评估。 澄清:
然而,我觉得我应该指出,为了性能,不应该使用这样的构造。当编译器遇到select语句(在c中切换)时,它将尝试使用查找表和 转换 MSIL指令,但在这种情况下 1,2,11,55 编译器将无法将其转换为查找表,它必须使用一系列比较(就像使用if..否则)。 要点是,为了真正利用select语句,设计案例时应该考虑到这一点。否则,唯一的好处就是代码可读性。 设计良好的交换机是O(1)操作,而设计不良的交换机(相当于一系列if..then..else语句)是O(n)操作。 |
|
|
5
3
这将允许您在0的情况下执行“something”,在1的情况下执行“something”,在2或3的情况下执行“hit”,否则执行“hit else”。
|
|
|
Bunyamin Erkaya · 使用开关输入后立即断开,或者如果 2 年前 |
|
|
Ettapp · switch语句中的类型保护类 2 年前 |
|
|
user23760512 · 所欠所得税的计算不正确 2 年前 |
|
|
Johnml · 将if-else语句转换为Switch语句 2 年前 |
|
Piotr Siupa · 如何在switch语句中使用太空船操作员 2 年前 |
|
|
Sybe · 将输入转换为数字的方法不起作用[重复] 2 年前 |