问题标签 [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 投票
17 回答
116228 浏览

c# - C# switch 语句限制 - 为什么?

在编写 switch 语句时,在 case 语句中可以打开的内容似乎有两个限制。

例如(是的,我知道,如果你正在做这种事情,这可能意味着你的面向对象(OO)架构是不确定的——这只是一个人为的例子!),

这里 switch() 语句失败并出现“预期的整数类型的值”,而 case 语句失败并出现“预期的常量值”。

为什么会有这些限制,背后的理由是什么?我看不出为什么 switch 语句必须屈服于静态分析,以及为什么要打开的值必须是整数(即原始值)。理由是什么?

0 投票
5 回答
10929 浏览

c# - C# switch:case 没有落入其他 case 限制

这个问题是这个问题的附加问题

在 C# 中,一个 switch case 不能落入其他 case,这会导致编译错误。在这种情况下,我只是在所选月份以及之后的每个月份的月份总数中添加一些数字。(简单的例子,并不意味着是真实的)

在 C# 中是否有一个逻辑替代方案,而不必写出大量的 if 语句?

0 投票
44 回答
1997293 浏览

python - Python中switch语句的替换?

我想在 Python 中编写一个函数,该函数根据输入索引的值返回不同的固定值。

在其他语言中,我会使用switchorcase语句,但 Python 似乎没有switch语句。在这种情况下推荐的 Python 解决方案是什么?

0 投票
23 回答
1092225 浏览

c# - switch 语句中的多个情况

有没有办法在不case value:重复陈述的情况下通过多个案例陈述?

我知道这有效:

但我想做这样的事情:

这是我从不同语言中想到的语法,还是我遗漏了什么?

0 投票
5 回答
19828 浏览

xml - 如何在 XQuery 中打开字符串?

我有一个以字符串形式出现的外部变量,我想对其进行开关/大小写。我如何在 xquery 中做到这一点?

0 投票
10 回答
19789 浏览

c# - 切换属性类型

我怎样才能使这项工作?

我不想使用该名称,因为类型的字符串比较非常糟糕,并且可能会发生变化。

0 投票
23 回答
338099 浏览

c++ - 为什么不能在 switch 语句中声明变量?

我一直想知道 - 为什么不能在 switch 语句中的 case 标签之后声明变量?在 C++ 中,您几乎可以在任何地方声明变量(并且在接近第一次使用时声明它们显然是一件好事),但以下仍然行不通:

以上给了我以下错误(MSC):

“case”标签跳过“newVal”的初始化

这似乎也是其他语言的限制。为什么会出现这样的问题?

0 投票
23 回答
123018 浏览

c++ - 切换 if-else 语句的优势

switch使用语句与使用if语句进行 30 个枚举的最佳实践是什么,unsigned其中大约 10 个具有预期的操作(目前是相同的操作)。需要考虑性能和空间,但并不重要。我已经抽象了这个片段,所以不要因为命名约定而讨厌我。

switch陈述:

if陈述:

0 投票
14 回答
31014 浏览

objective-c - Objective-C 使用对象切换?

我正在做一些涉及解析 NSXmlDocument 并从结果中填充对象属性的 Objective-C 编程。

第一个版本看起来像这样:

但我不喜欢if-else-if-else这种产生的模式。查看switch语句,我发现我只能处理ints, charsetc 而不能处理对象......所以有没有更好的实现模式我不知道?

顺便说一句,我确实想出了一个更好的解决方案来设置对象的属性,但我想具体了解Objective-C 中ifelse-vs模式switch

0 投票
1 回答
1960 浏览

svn - 切换到不同的svn分支时出错

我有两个 SVN 分支(例如开发和稳定),想从一个切换到另一个......

在每个教程中都有如下命令:
rootOfLocalSvnCopy:>svn switch urlToNewBranch .

但在我的情况下它会导致错误:

我找到的每一个帮助都是关于 svn switch --relocate 但我不想重新定位,只是为了将我的工作副本更改为另一个分支