我想请问,double ss;
            ss=a+e-a*0.11;
            switch(ss)
            {
                case 1 to 500;
                    ss=a+e-a*0.11-0
                case 500 to 2000:
                    ss=a+e-a*0.11-25
                default:
                    //22222222222
            }红色部分为什么不能运行,VB上好像都可以的..
如果不行,,应该怎么解决这样的问题
谢谢

解决方案 »

  1.   

    好象没有那样的语法,只能
    case 1:
    case 2:
    .
    .
    .
    case 500
    顶一下。学习
      

  2.   

    可以再定义一个int n;变量作为switch(n)
    ss为1到500,n=1;
    ss为500到2000,n=2
      

  3.   

                    if (ss >= 1 && ss < 500)
                        ss=a+e-a*0.11-0; 
                    else if (ss >= 500 && ss < 2000) 
                        ss=a+e-a*0.11-25; 
                    else
                        //22222222222 
      

  4.   

    C#里没有这种语法,可以改成这样:
    switch(ss/500.0) 
    然后
    CASE 0:
    CASE 1:
    CASE 2:
    CASE 3:
    ……
      

  5.   

    好象没有那样的语法,只能 
    case 1: 
    case 2: 



    case 500 
    顶一下。学习
      

  6.   

    兄弟改成ifelse的吧,何必一定要用switch分支安
      

  7.   

    不要局限在一种写法上,要多试试,多考虑,用的不一定是最好的
    PS:C#貌似没有楼主的这种语法~~~