问题标签 [case-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 投票
3 回答
2035 浏览

delphi - 案例语句中的 Delphi 类型常量

case在 Delphi的语句中使用类型常量最优雅(或最不丑)的方式是什么?

也就是说,假设对于这个问题,您需要声明一个类型化常量,如

那么Delphi编译器将不接受

但你需要写

这容易出错,难以更新,而且不优雅。

有什么技巧可以让编译器插入常量的值(最好通过const在源代码中检查常量的值,但也可以在运行时查找值)?我们在这里假设您不会在运行时更改“常量”的值。

0 投票
3 回答
258 浏览

sql - 使用“ELSE:”的 SQL Server 查询

我正在维护各种 VB6 项目,其中一些查询被传递到具有“ELSE:”的服务器,并在 case 语句中使用冒号。

我想知道有人能告诉我 **ll 冒号是做什么用的吗?它会在 SQL2005 和更高版本中导致错误,但 SQL2000 可以正常工作。

我想将它从代码中删除并重新编译,但我担心它会破坏应用程序中的其他 10 件事..

提前致谢...

0 投票
1 回答
152 浏览

sql - 在 CASE 语句中将 BIT 与 DATETIME 匹配

我正在尝试创建一个 T-SQL case 语句来根据字段是否NULL包含值或是否包含值来过滤查询。如果您可以分配NULLNOT NULL作为案例的结果,那将很简单,但这似乎是不可能的。

这是伪代码:

据我了解,WHEN 0可以通过根本不提供WHEN条件(返回NULL值)来实现条件。

WHEN 1条件似乎可以使用通配符,但我收到有关类型转换的错误。将列分配给自身可以解决此问题。

我不知道该怎么办WHEN NULL。我的内部逻辑似乎认为将列分配给自身应该可以解决这个问题,但它并没有如上所述。

我已经使用动态 SQL 重新创建了它,但出于各种原因,我更喜欢在本机代码中创建它。

我会很感激任何意见。谢谢。

0 投票
5 回答
16721 浏览

java - 案例陈述或 if 陈述效率观点

可能的重复:
“else if”比“switch() case”快吗?
Java 中 if/else 与 switch 语句的相对性能差异是什么?

我知道 case 语句可以用跳转表来实现。这是否使它们比 if 语句更有效?

这只是应该避免的微优化吗?

0 投票
2 回答
19301 浏览

tsql - 试图在 case 语句中设置变量。

我正在尝试从我们的 ERP 系统的会计年度表中更新日期维度表。如果我运行以下查询:

我得到以下数据:

就我而言,我的公司每年有 12 个时期,大致相当于几个月。基本上,我正在尝试创建一个更新语句来设置将遵循以下逻辑的财务季度:
1. 如果 PeriodCount 可被 4 整除,则一个季度的周期数为 PeriodCount/4。
2. 如果 PeriodNumber 位于第一季度(在本例中为期间 1 到 3),则 FiscalQuarter =1,依此类推,适用于第 2 到 4 季度。

问题是我不能保证每个人都使用 12 个句点,我支持的一些公司使用不同的数字,例如 10。

我开始创建以下选择语句:

我可以在这样的 case 语句中设置变量的值吗?实现这一目标的最佳方法是什么?我是否被迫使用游标语句并根据上表中的范围检查维度中的每个日期?

0 投票
3 回答
8545 浏览

string - Haskell中case语句中的模式匹配变量

如果我使用 case 语句将字符串文字与字符串文字进行比较,我会得到预期的行为:如果它们相同 - 它匹配,如果它们不匹配 - 它不匹配。

但是,如果我将字符串文字与作为字符串的常量进行比较,则会收到“模式匹配重叠”警告,并且具有常量的分支始终匹配。

这是一个示例会话:

同时,如果行为符合预期:

这里发生了什么?这种行为有什么意义?

0 投票
1 回答
222 浏览

scala - 如何在 case 语句中引用 val?

我有一个缓慢的早晨。我认为在 case 语句中引用现有的 val 是可以的。但似乎它被解释为局部变量定义。一个基本的谷歌搜索没有帮助,我没有我的楼梯书。

在下文中,允许我匹配大小写 (b,c) 的语法是什么?

0 投票
2 回答
2046 浏览

haskell - 为什么我会从 GHCi 收到此警告?

模式匹配时我收到一个奇怪的警告,但只有在启用 OverloadedStrings 时...

我不明白为什么我会收到fOverloadedStrings 的警告,特别是因为我没有收到fOverloadedStrings 的警告,也没有收到gor的警告h,这与f第一个模式不同(总之case 仅匹配单个特定值)。

假设这不是 GHC 中的错误,我错过了什么?

0 投票
5 回答
50444 浏览

ruby - Ruby 类类型和 case 语句

和有什么区别

出于某种原因,有时第一个有效而第二个无效,而其他时候,第二个有效而第一个无效。为什么?哪一种是“正确”的方法?

0 投票
1 回答
386 浏览

c# - 在 C#/Mono 的 switch case 语句中引用文件内容?

我正在设置一个菜单系统,要求用户从列表中选择一个广播电台,并且为了便于使用,我希望该列表位于一个名为 StationList 的文件中。那位已经排序了,但是我在选择过程中遇到了问题。

有没有办法让案例语句引用 StationList 来获取有效案例,而不必手动输入它们?我环顾四周,似乎没有直接的答案:请记住,尽管我只学了两个星期 :)

提前致谢!

例子: