标签: switch-statement

C#Switch-case字符串以.开头

有没有办法在switch语句中创建一个case条件,你会说一个字符串是否以某个东西开头?

Switch (mystring)
{
   case("abc")://String begins with abc (abcd or abc1 or abcz or abc.. or abc will fall in this condition).
      //Do Something
      break;
   default:
      break;
}
Run Code Online (Sandbox Code Playgroud)

更新 其他字符串可以是不同的长度.

ABC ..

abczyv

dcs2.

QWERTY

c# string case switch-statement

42
推荐指数
4
解决办法
10万
查看次数

使用switch语句进行范围检查

我的老师已经分配了一个程序来使用if-else语句和switch语句,因此我们了解如何实现它们.该程序要求我们提示用户分别以磅和米为单位输入他们的体重和身高.这是我的尝试:

没有开关

#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 = weightKilo / (heightMeters*heightMeters);

    if (BMI < 18.5) {
        cout << "You are underweight " << endl;
    }
    else if (BMI >= 18.5 && …
Run Code Online (Sandbox Code Playgroud)

c++ switch-statement

42
推荐指数
4
解决办法
5707
查看次数

为什么Java 12会尝试将切换结果转换为数字?

我同意以下代码:

var y = switch (0) {
    case 0 -> '0';
    case 1 -> 0.0F;
    case 2 -> 2L;
    case 3 -> true;
    default -> 4;
};
System.out.println(y);
System.out.println(((Object) y).getClass().getName());
Run Code Online (Sandbox Code Playgroud)

返回此:

0
java.lang.Character
Run Code Online (Sandbox Code Playgroud)

但是,如果删除布尔值:

var y = switch (0) {
    case 0 -> '0';
    case 1 -> 0.0F;
    case 2 -> 2L;
    default -> 4;
};
System.out.println(y);
System.out.println(((Object) y).getClass().getName());
Run Code Online (Sandbox Code Playgroud)

返回此:

48.0
java.lang.Float
Run Code Online (Sandbox Code Playgroud)

我想这个结果是出乎意料的。

java switch-statement java-12

42
推荐指数
1
解决办法
1933
查看次数

每个案例后都有C案例花括号

在C switch-case流控件中,需要在该块中定义if变量之后放置花括号{}case.

case无论变量声明如何,在每次之后放置大括号是不好的做法吗?

例如:

switch(i) {
  case 1: {
    int j = 4;
    ...code...
  } break;

  case 2: {  //No variable being declared! Brace OK?
    ...code...
  } break;
}
Run Code Online (Sandbox Code Playgroud)

c switch-statement

41
推荐指数
4
解决办法
4万
查看次数

我可以在JavaScript中的switch语句中处理"未定义"的情况吗?

如果我将一个对象传递给case语句,并且有一个未定义的情况,我可以处理这种情况吗?如果是这样呢?如果不可能,那么处理交换机的未定义情况的最佳做法是什么?

javascript switch-statement

41
推荐指数
1
解决办法
2万
查看次数

Typescript枚举开关无法正常工作

我有以下枚举

enum EditMode {
    View = 0,
    Edit = 1,
    Delete = 2
}
Run Code Online (Sandbox Code Playgroud)

假设我有一个枚举类型的变量

var editMode = EditMode.Edit;
Run Code Online (Sandbox Code Playgroud)

为什么以下代码不起作用(直接默认)?

switch (editMode) {
    case EditMode.Delete:
        ...
        break;
    case EditMode.Edit:
        ...
        break;
    default:
        ...
        break;
    }
Run Code Online (Sandbox Code Playgroud)

enums switch-statement typescript

41
推荐指数
5
解决办法
4万
查看次数

在VB.NET中选择对象类型的Case

我不确定这个有效的C#,但希望你能得到这个想法.:)

switch (msg.GetType()) {
    case ClassA:
        // blah
    case ClassB:
        // blah 2
    case ClassC:
        // blah 3
}
Run Code Online (Sandbox Code Playgroud)

我如何使用VB.NET打开对象的类型Select Case

我知道有些人可能会建议使用多态,但我使用的是小型消息类的层次结构,所以在我的情况下真的不行.

vb.net switch-statement select-case

40
推荐指数
4
解决办法
6万
查看次数

switch语句的运行时复杂性是多少?

假设您有n个案例,我想知道switch语句的最坏情况运行时复杂性是什么.

我一直认为它是O(n).不过,我不知道编译器是否能做任何聪明的事情.如果答案是特定于实现的,我想知道以下语言:

  • Java的
  • C/C++
  • C#
  • PHP
  • 使用Javascript

algorithm big-o programming-languages switch-statement

40
推荐指数
5
解决办法
2万
查看次数

在switch-case中使用花括号时的'break'语句

我在C/Objective-C/C++中使用大括号和我的所有switch case语句

直到不久之前,我还没有考虑过break;在括号内加入声明是好还是坏.我怀疑它没关系,但我认为它仍然值得问.

    switch (foo) {
        case 1: {
            // stuff
            break;
        }

        default: {
            break;
        }
    }
Run Code Online (Sandbox Code Playgroud)

VS

    switch (foo) {
        case 1: {
            // stuff
        } break;

        default: {
            // stuff
        } break;
    }
Run Code Online (Sandbox Code Playgroud)

c coding-style curly-braces switch-statement

39
推荐指数
3
解决办法
2万
查看次数

为什么if语句有效但不是switch语句

我正在尝试switch使用字符串的char索引和使用包装器的Enum 创建语句,以从描述中获取所选枚举的值.它几乎允许您将字符串存储到枚举值.

这是我的if发言:

if (msgComingFromFoo[1] == Convert.ToChar(Message.Code.FOO_TRIGGER_SIGNAL.EnumDescriptionToString()))
{
    //foo
}
Run Code Online (Sandbox Code Playgroud)

这是我的switch发言:

switch (msgComingFromFoo[1])
{
    case Convert.ToChar(Message.Code.FOO_TRIGGER_SIGNAL.EnumDescriptionToString()):
        break;
}
Run Code Online (Sandbox Code Playgroud)

为什么接受if声明而不是switch?我尝试将它转换为char,因为我从字符串中选择索引,但不幸的是它没有用.

更新:

这是Message.CodeEnum

public class Message
{
    public enum Code
    {
        [Description("A")]
        FOO_TRIGGER_SIGNAL
    }
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我需要分配给枚举不枚举值是0.使用说明Message.Code.FOO_TRIGGER_SIGNAL.EnumDescriptionToString()自提包装回报A0


错误:

期望一个恒定的价值

c# if-statement switch-statement

39
推荐指数
4
解决办法
4816
查看次数