Questions tagged «switch-statement»

在计算机编程中,switch,case,select或inspect语句是一种选择控制机制,用于根据变量内容调用特定的代码块。

9
如何使C#Switch语句使用IgnoreCase
如果我有一个switch-case语句,其中开关中的对象是字符串,是否可以进行ignoreCase比较? 我有例如: string s = "house"; switch (s) { case "houSe": s = "window"; } 将s获得值“窗口”吗?如何覆盖switch-case语句,以便它将使用ignoreCase比较字符串?

7
在switch语句中使用Continue
我想从switch语句的中间跳到以下代码中的循环语句: while (something = get_something()) { switch (something) { case A: case B: break; default: // get another something and try again continue; } // do something for a handled something do_something(); } 这是有效的使用方式continue吗?是continue通过忽略声明switch语句?C和C ++的行为是否有所不同?

1
为什么即使我使用[[fallthrough]],GCC也会警告我有关失败的消息?
在下面的代码中,我使用[[fallthrough]]C ++ 1z的standard属性来说明需要进行彻底检查: #include <iostream> int main() { switch (0) { case 0: std::cout << "a\n"; [[fallthrough]] case 1: std::cout << "b\n"; break; } } 使用GCC 7.1,代码可以正确编译。但是,编译器仍然警告我一个失败之处: warning: this statement may fall through [-Wimplicit-fallthrough=] std::cout << "a\n"; ~~~~~~~~~~^~~~~~~~ 为什么?

2
如何编写带有正则表达式和反向引用的Ruby switch语句(case…when)?
我知道我可以编写Ruby case语句来检查是否与正则表达式匹配。但是,我想在我的return语句中使用匹配数据。像这样的半伪代码: foo = "10/10/2011" case foo when /^([0-9][0-9])/ print "the month is #{match[1]}" else print "something else" end 我该如何实现? 谢谢! 请注意:我知道我不会在上述简单情况下使用switch语句,但这只是一个示例。实际上,我想要实现的是将许多可能的正则表达式与可以用各种方式编写的日期进行匹配,然后相应地使用Ruby的Date类进行解析。

15
切换大小写:我可以使用范围而不是一个数字吗
我想使用开关,但是我有很多情况,有没有捷径?到目前为止,我知道并尝试过的唯一解决方案是: switch (number) { case 1: something; break; case 2: other thing; break; ... case 9: .........; break; } 我希望我能做的是: switch (number) { case (1 to 4): do the same for all of them; break; case (5 to 9): again, same thing for these numbers; break; }

8
Java切换案例:是否带有花括号?
考虑以下两个带有花括号的代码段: switch (var) { case FOO: { x = x + 1; break; } case BAR: { y = y + 1; break; } } 不带花括号: switch (var) { case FOO: x = x + 1; break; case BAR: y = y + 1; break; } 我知道,在带有大括号的代码段中,通过将每个案例放在大括号中创建了一个新的作用域。但是,如果每种情况都不需要新的作用域(即,没有重用变量名),那么将大括号与案例一起使用是否会对性能造成任何影响?

15
如何使用`switch`语句比较C中的字符串?
在C语言中,有一种switch结构可以使用户根据测试整数值执行不同的条件代码分支,例如, int a; /* Read the value of "a" from some source, e.g. user input */ switch (a) { case 100: // Code break; case 200: // Code break; default: // Code break; } 对于字符串值(即a),如何获得相同的行为(即避免所谓的“ if-else阶梯”)char *?

14
Subversion中的状态“ S”
在某个时候,我的工作副本中的所有文件都标有“ S”符号,如下所示: $ svn st M S AclController.php S InstallationController.php S CustomerController.php S RedirController.php S IndexController.php S LoginController.php S OrderController.php S ProductController.php S SelfInstallController.php S SelfcareController.php 有趣的是,它仅在此特定工作副本中发生-当我将项目检出到新目录时,它不显示“ S”标记。 如何摆脱这种令人讨厌的“ S”符号?它会大大降低WC状态的清晰度。 更新:我确实不时使用标准svn switch语法进行切换。直到最近,它从未使该“ S”符号出现。用于切换的命令是: svn switch svn+ssh://xxxxxx/subversion/xxxxxxx/releases/1.0.16 . 有什么办法可以清除“ S”标志?

4
如何在R函数中使用switch语句?
我想为R中的函数使用该语句,switch()以根据函数参数的值触发不同的计算。 例如,在Matlab中,您可以通过编写 switch(AA) case '1' ... case '2' ... case '3' ... end 我发现了此post- switch()语句用法-解释了如何使用switch,但对我没有太大帮助,因为我想执行更复杂的计算(矩阵运算)而不是简单的操作mean。

8
在Laravel 5中切换-刀片
如何在刀片模板中使用switch?当我使用时: @switch($login_error) @case(1) `E-mail` input is empty! @break @case(2) `Password` input is empty! @break @endswitch 结果,我将此文本视为纯文本。我更喜欢在几段代码中使用switch,因为对我来说,它比使用if时更干净。 但是,如果不可能,只需编写它。

4
Java为什么您的switch语句数据类型不能很长?
这是Sun的Java教程的摘录: 一种开关用的工作原理byte,short,char,和int原始数据类型。它还与枚举类型(在类和继承讨论)和少数特殊类作品是“包装”某些基本类型:Character,Byte,Short,和Integer(在简单的数据对象讨论)。 一定有充分的理由为什么long不允许原始数据类型。有人知道这是什么吗?


5
Java Switch语句-是否可以使用“或” /“和”?
我实现了一种字体系统,该字体系统通过char switch语句找出要使用的字母。我的字体图像中只有大写字母。我需要这样做,例如,“ a”和“ A”都具有相同的输出。而不是案件数量的两倍,它可能像下面这样: char c; switch(c){ case 'a' & 'A': /*get the 'A' image*/; break; case 'b' & 'B': /*get the 'B' image*/; break; ... case 'z' & 'Z': /*get the 'Z' image*/; break; } 这在Java中可能吗?

15
使用数组作为switch中的case语句
我试图做这样的事情,即在switch语句中使用数组。Java可能吗?如果不是,请说明可能的解决方案。 boolean[] values = new boolean[4]; values[0] = true; values[1] = false; values[2] = false; values[3] = true; switch (values) { case [true, false, true, false]: break; case [false, false, true, false]: break; default: break; }

11
C#如何在开关中使用枚举
我不知道如何结合枚举使用开关。您能否告诉我我在做什么错,以及如何解决?我必须使用一个枚举来制作基本计算器。 public enum Operator { PLUS, MINUS, MULTIPLY, DIVIDE } public double Calculate(int left, int right, Operator op) { int i = (int) op; switch(i) { case 0: { return left + right; } case 1: { return left - right; } case 2: { return left * right; } …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.