不能直接用.因为CASE语句必须是一个具体的值,除非你先判断X的值进行转换,不过那样也没什么意义呀.建议不如直接用IF

解决方案 »

  1.   

                int x = -1;
                switch (Math.Sign(x))
                {
                    case 1:
                        MessageBox.Show("1");
                        break;
                    case 0:
                        MessageBox.Show("0");
                        break;
                    case -1:
                        MessageBox.Show("-1");
                        break;
                }
      

  2.   

    不行,case后面不能接表达式的。必须是具体的值。用if else 吧 
      

  3.   

    用Math.Sign(x)判断实现,二楼方法就行
      

  4.   

    switch (x >= 0)
            {
                case true:
                    switch (x == 0)
                    {
                        case true:
                            text.Text = "等于0";
                            break;
                        case false:
                            text.Text = "大于0";
                            break;
                    }
                    break;            case false:
                    text.Text = "小于0";
                    break;
            }
      

  5.   


                int x = -1;
                switch (Math.Sign(x))
                {
                    case 1:
                        y=1;
                        break;
                    case 0:
                        y=0;
                        break;
                    case -1:
                        y=-1;
                        break;
                }
      

  6.   

    多谢各位高人,特别多谢2楼的朋友.
    9楼的朋友的好像和if语句无区别,只是if语句的变形,不过也多谢你.
      

  7.   

    我再提一个问题,将上面改为这样呢?y=1  当x>2 
      0  当x==2 
      -1 当x <2请问如何实现.只能用switch语句,不能用if语句.