问题标签 [switch-statement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4474 浏览

java - 是否有用于在 Eclipse 中为 Java 枚举生成 switch 语句的模板或其他东西?

是否有用于在 Eclipse 中为 Java 枚举生成 switch 语句的模板或其他东西?

所以当我得到一个枚举并且我想要一个包含所有值的开关时,我不必自己写所有的东西?

0 投票
6 回答
865 浏览

c++ - 在 C++ 中打开常量是否合法?

我刚刚意识到我引入的一个错误,令我惊讶的是它编译了,打开常量是否合法?

Visual Studio 8 和Comeau都接受它(没有警告)。

0 投票
16 回答
9578 浏览

c - C 中 switch 语句的开销

我是一个相当称职的 Java 程序员,对 C 语言非常陌生。我正在尝试优化一个具有四种操作模式的例程。

我遍历图像中的所有像素并根据传递的“模式”计算新的像素值。

我的问题是关于两个嵌套 for 循环中 switch 语句的开销。我会对任何有关基本 C 语句、数学和逻辑运算的相对效率的文档链接感兴趣。

代码如下;

如果这是超过 5000 x 5000 像素的图像,您会期望看到很多开销吗?我试图做一些测试,但我的结果到处都是,因为系统(移动设备)有各种各样的东西在后台运行,可能会扭曲结果。

另一种选择是为每种模式设置一个单独的方法,每个模式都有自己的四个循环。这显然会引入冗余代码,但效率是这里的游戏名称。

提前致谢!

加夫

0 投票
7 回答
610 浏览

c# - Refactoring advice for big switches in C#

I have an application in C#/Winforms that lets users place objects on a grid to create levels for a game. It has several tools for placing tiles/lights/doors/entities etc. Currently I just use an enum for storing the currently selected tool and have a switch statement to run each tools code. As I've been adding more tools to the application it's starting to get spaghetti like, with lots of duplicated code.

Here is a cutdown version of the mouse down function in my editor class:

The switch is used in several other functions (OnMouseMove, OnMouseUp) and it seems like bad design (big switch copied in several functions). Any advice for refactoring something like this in a cleaner and more extensible way? I'm currently thinking of having a base Tool class and having each tool it's own class that overrides the functions it uses (OnMouseDown() etc.). Does this sound sensible?

Thanks for reading.

0 投票
27 回答
999095 浏览

ruby - 如何在 Ruby 中编写 switch 语句

如何switch在 Ruby 中编写语句?

0 投票
13 回答
28775 浏览

c - 用 return .. 和默认情况下打破

我的强迫症让我在编写 case 语句时添加“中断”,即使它们不会被执行。考虑以下代码示例:

我的两个问题是:
对于“案例 2:”,我真的不需要休息,但无论如何让它在那里是个好主意吗?对于“默认:”。是纯粹的强迫症,还是有任何真正的理由在这里休息?

0 投票
2 回答
2881 浏览

java - 在枚举的 Java switch 语句中,当我在每种情况下限定我的值时,为什么会出现编译错误?

我在 Java 中有一个 switch 语句,在一个 Enum 上让我们调用 IMyInterface.MyEnum

我的每个案例语句都有以下形式:IMyInterface.MyEnum.MyValue,(尽管如果我导入,我可以删除 IMyInterface)。

但是,编译器 (Java 6) 会引发错误:“必须将合格的案例标签 IMyInterface.MyEnum.MyValue 替换为不合格的枚举常量 MyValue”。

我显然可以这样做,但是对于我的一生,我不明白这个错误的目的是什么。显然,如果编译器能够处理实际值,它应该能够像处理常量一样处理全限定名。事实上,我会假设编译器会将常量转换为完全限定名。

那么,Java 大师们,这背后的基本原理是什么?谢谢!

0 投票
5 回答
1626 浏览

c# - 切换语句

我正在一个程序中练习“切换循环”。我正在编写一个代码,用户可以在其中输入整数,在用户输入整数后,它还将显示用户刚刚输入的内容。现在我正在尝试实现程序要求用户输入的位置通过选择 Y/N 再次编号。

我已经将它包含在我的代码中,但是如果我在程序第一次要求我输入整数时输入字符,程序将执行 catch 部分。我怎样才能使如果用户输入一个字符,它也会再次显示消息,“请输入整数:”

这就是我所做的;我不知道为什么我会收到错误消息。新方法似乎不起作用:

更新

比尔,这是您给出的示例,看来我仍然遇到错误:

更新

这个回应是给罗伯特的。这就是我现在所做的,但如果我输入“N”它不会退出程序。它仍然问同样的问题。

更新

罗伯特和比尔,这就是我现在得到的。我该如何改进呢?

0 投票
10 回答
403 浏览

php - PHP中的连续if

我现在在 PHP 中进行一些验证,并且正在运行分配条件语句,例如:

等等。。

有没有很好的方法来做到这一点?还是我只运行十个像上面那样的 If 语句?我显然不能使用switch,但我正在寻找那种类型的解决方案..

PS ..我正在使用 Zend Framework 进行验证

0 投票
3 回答
19382 浏览

c# - 在 Windows 窗体应用程序中使用 switch 语句

我正在做一些关于开关的练习。我只是从控制台应用程序中完成的,我想在窗口窗体应用程序中完成它。我正在寻找有关如何在窗口窗体中进行切换的语法。在控制台中通常是这样的:

如果我想在 listbox1 中显示这种情况,如何在我的窗口窗体中执行此操作?

谢谢

=======

谢谢你。我试过这个,但我遇到了一个错误。这是我尝试过的:

========

这是我想要做的代码:

====

这是新代码: