问题标签 [select-case]

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 回答
852 浏览

vb.net - 有条件地跳过案例

Select...Case声明中,有没有办法根据前提条件跳过案例?

我现在在做什么,使用一个非常愚蠢的例子:

有时我什至会把我的案例从里到外写出来:

我真正想做的是:

请注意,我使用了When当前仅在Try...Catch块中使用的关键字。

这可以做到吗?我该与谁交谈才能实现这一目标?

编辑(1/2)

重要的是此代码将首先评估When <expression>. 只有当它评估为 时True,它才会继续评估Case <expression>

我想这样做的主要原因是因为我想编写测试条件在情况正确(或错误,取决于你如何看待它)的情况下抛出异常的案例。如果前提条件为真,我想跳过这些情况。

编辑(2/2)

现在很清楚,我所要求的在当前的 VB 迭代中是不可能的。所以我搜索了一个地方来向 .NET 开发团队提交功能请求,然后发现他们有一个用户语音平台。

长话短说:如果您想看到这个实现,请点击此页面上的投票按钮:https ://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4274712-add-when-keyword-支持选择案例统计

0 投票
1 回答
28556 浏览

ms-access - 访问 2010 VBA 选择案例声明

我正在尝试构建一个基于字符串比较使用特定公式的函数

我遇到的问题是我得到一个Byref 争论类型不匹配错误

它必须与传递字符串进行比较以及公式的数字有关。有人可以帮忙看看吗?

0 投票
2 回答
100374 浏览

excel - Excel VBA:如果 ActiveCell 像“*string*”,则选择大小写

我正在研究一个宏,它采用当前值ActiveCell并根据选择情况更改该值。

但是,我无法确定是否ActiveCell包含通配符字符串。我不确定我的语法是否正确。如何让我的选择案例进行比较?

0 投票
5 回答
5618 浏览

c# - C# 开关与 VB 案例语句

我最近从 VB 切换到 C#。我注意到的一件事是,在 C# 中,我在使用比较作为案例的一部分时遇到了问题。我不知道如何用语言来解释它,所以这里有一个我正在尝试做的例子。

在 VB 中,我的代码看起来像这样并且运行良好。

另一方面,在 C# 中,Visual Studio 告诉我 ">=" 是一个无效的表达式。

我在这里做错了什么,还是在 C# 中根本不可能做到这一点?

非常感谢您!

0 投票
1 回答
371 浏览

vb.net - 在 case 语句中使用枚举仅使用 Case 1 (Visual Basic)

该程序应该使用在 Select Case 语句中开头声明的枚举类型。当我运行程序时,无论我选择哪个运算符,它都只使用第一个 case 语句(用于添加)。我尝试在 case 语句中重新排列它们以查看它是否只使用了第一个,但它仍然只是选择了添加。我究竟做错了什么?

0 投票
1 回答
435 浏览

vb.net - 为什么在重新排列带有其他相关因素的 switch 语句时,圈复杂度会发生变化?

以下方法的 CC 将生成为 9

但是当用户定义枚举成员值时,Fruity 方法的 CC 增加到 14。

现在假设我将 select-case 语句更改如下,然后方法 Fruity 的 CC 更改为 7,但与上述 select-case 相比,可维护性指数略有下降。

在最后一个场景中,我将参数的数据类型更改为整数并访问一个名为蔬菜的不同枚举,其值为 50。现在,Fruity 方法的 CC 飙升至 52。但如果我将 Potato 的值更改为 0 或 1然后CC保持在15。

这些都在 VS 2008 Team 系统版 3.5SP1 中进行了测试。我想知道为什么这4种情况下CC会有波动。

它与下面给出的第二点有关吗?因为如果我在第 4 种情况下删除掉线案例,CC 确实会下降到 9。那么这是 VS 2008 中的错误吗?

Visual Studio 2010 特别说明

使用不适用于 Visual Studio 2008 的 Visual Studio 2010 计算代码指标时可能存在差异。在线文档 ( http://msdn.microsoft.com/en-us/library/ee703787.aspx ) 给出了以下原因:

  1. 该函数包含一个或多个 catch 块。在 Visual Studio 的早期版本中,catch 块不包括在计算中。在 Visual Studio 2010 中,每个 catch 块的复杂性被添加到函数的复杂性中。

  2. 该函数包含一个 switch(VB 中的 Select Case)语句。Visual Studio 2010 和更早版本之间的编译器差异可能会为某些包含失败案例的 switch 语句生成不同的 MSIL 代码。

0 投票
1 回答
65 浏览

vb.net - 选择案例中的比较结构

我很少使用 select case,但认为它适合此功能。第二种和第三种情况如何比较?编译器不喜欢该代码。在 Select Case 中不能以这种方式进行比较吗?

0 投票
1 回答
1067 浏览

sql - MS Access VBA SQL查询调试选择案例

在 MS Access 2013 VBA 中,我在此 SQL 字符串中收到语法错误:

我在 CASE 部分得到了错误,但这可能是因为它还没有到达 SWITCH 部分。:-) 谁能帮忙,我找不到错误。

最好的 pmelch

0 投票
1 回答
3151 浏览

vba - 退出选择案例 - VBA MsAccess

我需要在 vba ms 访问中退出选择案例,但我不知道该怎么做,这是我得到的错误的屏幕截图。

在此处输入图像描述

0 投票
3 回答
152 浏览

.net - 如何用 Case 感知参数

我正在尝试创建一系列可以接受参数的命令。获取我正在使用的每个单独Select Case的命令问题是,如果我使用Case Else. 如果我不使用Case Else,那么我将无法处理不正确的命令并将它们发送到所需的程序。

例如:

如果命令是“Brrrrr”,它将调用Errors(). 然而,如果命令是“吃食物”,它仍然会调用Errors()并且不会将参数传递给Eat过程。

编辑,因为它现在不起作用。 我已经尝试了建议的方法,但我仍然遇到完全相同的问题。似乎两者都Command.StartsWith不起作用Command.Contains,因为如果我尝试输入“吃食物”,它仍然无法将其识别为案例。

例子: