Tag: switch statement

在VB.NET中select一个对象types的Case

我不知道这个有效的C#,但希望你能明白这一点。 🙂 switch (msg.GetType()) { case ClassA: // blah case ClassB: // blah 2 case ClassC: // blah 3 } 我如何打开一个对象的types,但使用VB.NET的Select Case ? 我知道有些人可能会build议使用多态 ,但我使用的是一个小的消息类的层次结构,所以在我的情况下真的不起作用。

如何在MySQL中正确使用CASE..WHEN

这里是一个演示查询,注意它非常简单,仅在base_price为0的位置获取,并且仍然select条件3: SELECT CASE course_enrollment_settings.base_price WHEN course_enrollment_settings.base_price = 0 THEN 1 WHEN course_enrollment_settings.base_price<101 THEN 2 WHEN course_enrollment_settings.base_price>100 AND course_enrollment_settings.base_price<201 THEN 3 ELSE 6 END AS 'calc_base_price', course_enrollment_settings.base_price FROM course_enrollment_settings WHERE course_enrollment_settings.base_price = 0 base_price是decimal(8,0) 当在我的数据库上运行这个时,我得到: 3 0 3 0 3 0 3 0 3 0

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; } case 3: { […]

调用函数时切换“控制转移绕过初始化:”

当我尝试build立下面的开关时,我得到了一个“转移控制绕过初始化:”错误: switch (retrycancel) { case 4: //The user pressed RETRY //Enumerate all visible windows and store handle and caption in "windows" std::vector<MainHandles::window_data> windows = MainHandles().enum_windows().get_results(); break; case 2: //code } 这与我的枚举函数调用有关。 如果不允许从交换机中调用某个function,有没有解决这种问题的方法?

为什么在开关语句中“defau4t”是合法的?

我想出了一些其他网站的这个程序,并想到尝试它,这里的程序: #include <stdio.h> int main() { int a=10; switch(a) { case '1': printf("one"); break; case '2': printf("two"); break; defau4t: printf("none"); } return 0; } 令人惊讶的是,这个编译没有错误或警告。 这怎么可能? 关键字“default”没有错误吗? 有谁能解释这种行为吗?

执行if-else,开关或基于地图的调节

我想知道在JavaScript中的条件结构的以下实现的性能。 方法1: if(id==="camelCase"){ window.location.href = "http://www.thecamelcase.com"; }else if (id==="jsFiddle"){ window.location.href = "http://jsfiddle.net/"; }else if (id==="cricInfo"){ window.location.href = "http://cricinfo.com/"; }else if (id==="apple"){ window.location.href = "http://apple.com/"; }else if (id==="yahoo"){ window.location.href = "http://yahoo.com/"; } 方法2: switch (id) { case 'camelCase': window.location.href = "http://www.thecamelcase.com"; break; case 'jsFiddle': window.location.href = "http://www.jsfiddle.net"; break; case 'cricInfo': window.location.href = "http://www.cricinfo.com"; break; case 'apple': […]

为什么这个转换工作没有转到?

对于这个程序: class Program { static void Main(string[] args) { var state = States.One; switch (state) { case States.One: Console.WriteLine("One"); break; case States.Zero: goto case States.One; } } } public enum States : ulong { Zero = 0, One = 1, } 我有: “开关expression式或案例标签必须是布尔型,字符型,string型,整型,枚举型或对应的可空types” 但statevariables是enumtypes。 如果我评论goto case行,错误消失。 我正在使用VS 2013. + .NET 4.5.1。

打开枚举(带标志属性)没有声明每个可能的组合?

我如何打开一个具有标志属性设置的枚举(或更精确地用于位操作)? 我希望能够在与所声明的值相匹配的开关中击中所有情况。 问题是,如果我有以下枚举 [Flags()]public enum CheckType { Form = 1, QueryString = 2, TempData = 4, } 我想用这样的开关 switch(theCheckType) { case CheckType.Form: DoSomething(/*Some type of collection is passed */); break; case CheckType.QueryString: DoSomethingElse(/*Some other type of collection is passed */); break; case CheckType.TempData DoWhatever(/*Some different type of collection is passed */); break; } 如果“theCheckType”设置为CheckType.Form | […]

如何在Scala中使用开关/shell(简单模式匹配)?

我发现自己陷在了一件很平凡的事情上: – ] 我有一个枚举: object Eny extends Enumeration { type Eny = Value val FOO, BAR, WOOZLE, DOOZLE = Value } 在代码中,我必须有条件地将其转换为数字(varianr-number的对应关系不同)。 我写: val en = BAR val num = en match { case FOO => 4 case BAR => 5 case WOOZLE => 6 case DOOZLE => 7 } 这给了我一个“无法访问的代码”编译器错误的每个分支,但无论是第一个(“案例FOO => 4在这种情况下)。 我究竟做错了什么?

Swift:使用元组在单个开关情况下的多个间隔

有一个像这样的代码: switch (indexPath.section, indexPath.row) { case (0, 1…5): println("in range") default: println("not at all") } 问题是我可以在第二个元组值中使用多个区间? 对于非元组切换它可以很容易地完成 switch indexPath.section { case 0: switch indexPath.row { case 1…5, 8…10, 30…33: println("in range") default: println("not at all") } default: println("wrong section \(indexPath.section)") } 我应该使用哪个分隔符来分隔元组内的间隔,或者它不会为元组开关工作,而且我必须使用开关内部的开关? 谢谢!