Tag: switch statement

范围检查使用switch语句

我的老师已经分配了一个程序来使用if-else语句和switch语句,所以我们知道如何实现这两个。 该计划要求我们提示用户分别input他们的重量和身高,以磅和米为单位。 这是我的尝试: 没有开关 #include "stdafx.h" #include <iostream> using namespace std; int main() { double height, weight, BMI, heightMeters, weightKilo; const double KILOGRAMS_PER_POUND = 0.45359237; const double METERS_PER_INCH = 0.0245; cout << "Please enter your height (inches) and weight (pounds)" << endl; cin >> height >> weight; weightKilo = weight*KILOGRAMS_PER_POUND; heightMeters = height*METERS_PER_INCH; BMI = […]

C#switch语句的默认标签如何处理可为空的枚举?

C#switch语句的默认标签如何处理一个可为空的枚举? 默认标签是否可以捕获空值以及任何未处理的情况?

switch语句中的String如何比相应的if-else语句更有效?

Java文档说 Java编译器通过使用String对象的switch语句而不是链式的if-then-else语句生成通常更有效的字节码。 AFAIK甚至string切换使用.equals()在内部以区分大小写的方式。 那么在这种情况下他们的含义是什么? 编译速度更快? less了字节码? 更好的性能?

在不能处理指定的情况下,在switch语句中抛出exception

假设我们有一个函数在MVC应用程序中为系统中的用户更改密码。 public JsonResult ChangePassword (string username, string currentPassword, string newPassword) { switch (this.membershipService.ValidateLogin(username, currentPassword)) { case UserValidationResult.BasUsername: case UserValidationResult.BadPassword: // abort: return JsonResult with localized error message // for invalid username/pass combo. case UserValidationResult.TrialExpired // abort: return JsonResult with localized error message // that user cannot login because their trial period has expired case UserValidationResult.Success: […]

案例vs如果其他如果:哪个更有效率?

可能重复: 是否“如果”比“switch()case”更快? Java中if / else和switch的相对性能是什么? 我一直在编码在运行再次….当debugging程序通过一个case语句的步骤跳转到立即匹配条件的项目,但是当相同的逻辑是指定使用if / else它遍历每个if语句直到find胜利者。 case语句是否更有效率,还是我的debugging器只是优化步骤? (不要担心语法/错误,我在SO中input,不知道它是否会编译,它的原理我后,我不想做他们作为整数,因为我隐约记得一些事情case使用带ints的偏移量)我使用C#,但我对跨编程语言的一般答案感兴趣。 switch(myObject.GetType()){ case typeof(Car): //do something break; case typeof(Bike): //do something break; case typeof(Unicycle): //do something break; case default: break; } VS Type myType = myObject.GetType(); if (myType == typeof(Car)){ //do something } else if (myType == typeof(Bike)){ //do something } else if (myType == typeof(Unicycle)){ […]

获得一堆十字架初始化错误

我从下载的例子中得到这段代码: bool ChatServer::event(QEvent * event) { if(event->type() == QEvent::User) { UserEvent * ue = static_cast<UserEvent *>(event); switch(ue->userType) { case CR::ErrorEvent: case CR::LogEvent: { TraceEvent * te = static_cast<TraceEvent *>(ue); if(te->userType == CR::ErrorEvent) { error(te->msg); } else { log(te->msg); } } break; default: return false; } } else { return QTcpServer::event(event); } return true; } 现在如果编译程序,我得到这个错误: […]

在switch语句中使用NSString

是否有可能在switch语句中使用NSString ? 或者, if只是使用if / else if ,会更好吗?

C ++强制编译时错误/警告隐式贯穿在交换机中

switch语句可能会超级有用,但会导致程序员忘记break语句的常见错误: switch(val) { case 0: foo(); break; case 1: bar(); // oops case 2: baz(); break; default: roomba(); } 你不会明显得到一个警告,因为有时候明显需要掉头。 良好的编码风格build议评论当你的故事是故意的,但有时是不够的。 我很确定这个问题的答案是否定的,但是:如果你的case确实case (或者将来会提出)能够让编译器抛出一个错误(或者至less是一个警告!)没有至less有一个break; 或者什么东西// fallthru的影响? 有一个使用switch语句的防御性编程选项是很好的。

如何使C#Switch语句使用IgnoreCase

如果我有一个switch-case语句,其中交换机中的对象是string,是否有可能做ignoreCase比较呢? 我举个例子: string s = "house"; switch (s) { case "houSe": s = "window"; } 将获得价值的“窗口”。 如何覆盖switch-case语句,以便比较使用ignoreCase的string?

什么是案例OR-ing的VB.NETselect案例语句逻辑?

我在我的例子expression式中使用了一个Or语句。 即使我有这个范围内的价值,它没有find一个匹配。 为什么不? 示例代码 : Select Case 2 Case 0 ' Some logic Case 1 ' Some other logic Case 2 Or 3 Console.WriteLine("hit") End Select 有了上面的内容,我会认为打印会被打印,但事实并非如此。