标签: switch-statement

2026
推荐指数
19
解决办法
82万
查看次数

Python中的switch语句的替换?

我想在Python中编写一个函数,它根据输入索引的值返回不同的固定值.

在其他语言中,我会使用switchcase声明,但Python似乎没有switch声明.在这种情况下,推荐的Python解决方案是什么?

python switch-statement

1719
推荐指数
32
解决办法
149万
查看次数

为什么我不能在String上使用switch语句?

这个功能是否会被放入以后的Java版本中?

有人可以解释为什么我不能这样做,就像Java的switch声明的技术方式一样吗?

java string switch-statement

982
推荐指数
8
解决办法
73万
查看次数

为什么不能在switch语句中声明变量?

我一直想知道这一点 - 为什么你不能在switch语句中的case标签之后声明变量?在C++中,您可以在任何地方声明变量(并且声明它们接近第一次使用显然是一件好事)但是以下仍然不起作用:

switch (val)  
{  
case VAL:  
  // This won't work
  int newVal = 42;  
  break;
case ANOTHER_VAL:  
  ...
  break;
}  
Run Code Online (Sandbox Code Playgroud)

以上给出了以下错误(MSC):

'case'标签跳过'newVal'的初始化

这似乎也是其他语言的限制.为什么会出现这样的问题?

c++ switch-statement

910
推荐指数
11
解决办法
26万
查看次数

在JavaScript中切换语句多个案例

我在JavaScript中的switch语句中需要多个case,比如:

switch (varName)
{
   case "afshin", "saeed", "larry": 
       alert('Hey');
       break;

   default: 
       alert('Default case');
       break;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?如果在JavaScript中没有办法做类似的事情,我想知道一个也遵循DRY概念的替代解决方案.

javascript switch-statement

692
推荐指数
13
解决办法
59万
查看次数

switch语句中的多个案例

有没有办法在不case value:反复陈述的情况下通过多个案例陈述?

我知道这有效:

switch (value)
{
   case 1:
   case 2:
   case 3:
      //do some stuff
      break;
   case 4:
   case 5:
   case 6:
      //do some different stuff
      break;
   default:
       //default stuff
      break;
}
Run Code Online (Sandbox Code Playgroud)

但是我想做这样的事情:

switch (value)
{
   case 1,2,3:
      //Do Something
      break;
   case 4,5,6:
      //Do Something
      break;
   default:
      //Do the Default
      break;
}
Run Code Online (Sandbox Code Playgroud)

这是我用不同的语言思考的语法,还是我错过了什么?

c# switch-statement

552
推荐指数
16
解决办法
79万
查看次数

case/switch语句的Python等价物是什么?

我想知道,是否有一个Python等效的case语句,如VB.net或C#上提供的示例?

python case-statement switch-statement

402
推荐指数
2
解决办法
115万
查看次数

切换声明在C#中落后?

切换声明是我喜爱switchif/else if构造的个人主要原因之一.这里有一个例子:

static string NumberToWords(int number)
{
    string[] numbers = new string[] 
        { "", "one", "two", "three", "four", "five", 
          "six", "seven", "eight", "nine" };
    string[] tens = new string[] 
        { "", "", "twenty", "thirty", "forty", "fifty", 
          "sixty", "seventy", "eighty", "ninety" };
    string[] teens = new string[]
        { "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen",
          "sixteen", "seventeen", "eighteen", "nineteen" };

    string ans = "";
    switch (number.ToString().Length)
    {
        case 3:
            ans += string.Format("{0} hundred and ", numbers[number / 100]); …
Run Code Online (Sandbox Code Playgroud)

c# switch-statement

356
推荐指数
7
解决办法
18万
查看次数

"else if"是否比"switch()case"更快?

可能重复:
在C#中使用if/else和switch-case之间是否有任何显着差异?

我是前Pascal人,目前正在学习C#.我的问题如下:

下面的代码比开关更快吗?

int a = 5;

if (a == 1)
{
    ....
}
else if(a == 2)
{
    ....
}
else if(a == 3)
{
    ....
}
else if(a == 4)
{
    ....
}
else
    ....
Run Code Online (Sandbox Code Playgroud)

和开关:

int a = 5;

switch(a)
{
    case 1:
        ...
        break;

    case 2:
        ...
        break;

    case 3:
        ...
        break;

    case 4:
        ...
        break;

    default:
        ...
        break;


}
Run Code Online (Sandbox Code Playgroud)

哪一个更快?

我问,因为我的程序有类似的结构(许多很多"其他如果"语句).我应该把它们变成开关吗?

c# performance if-statement switch-statement

344
推荐指数
11
解决办法
34万
查看次数

"开启类型"还有比这更好的选择吗?

看作C#无法打开一个Type(我收集的并不是作为特殊情况添加的,因为is-a关系意味着可能有多个不同的情况可能适用),是否有更好的方法来模拟切换类型?

void Foo(object o)
{
    if (o is A)
    {
        ((A)o).Hop();
    }
    else if (o is B)
    {
        ((B)o).Skip();
    }
    else
    {
        throw new ArgumentException("Unexpected type: " + o.GetType());
    }
}
Run Code Online (Sandbox Code Playgroud)

c# switch-statement system.type

312
推荐指数
15
解决办法
10万
查看次数