用switch (n)  是int类型的   
  case 1,3,5: ........ 处理
  case 8,12,34: ........处理
  default: .......
这样写会提示出错?为什么,应该怎样写?
如果判断不是单个1,4,9而是 10-20这样应该怎样写?
如果是字符型的又怎么写?

解决方案 »

  1.   

    switch (n)
    case 1:
    case 3:
    case 5:
    //处理
    case 2:
    case 4:
    case 6:
    //处理
      

  2.   

    case 1:
    case 3:
    case 5:
          ...处理
    case 8:
    case 12:
    case 34:
          ...处理
    default: .......
      

  3.   

    switch (i)
    {
      case 1:
      case 3:
        break;
      case 2:
      case 4:
        break;
    }你的出错是不是和书写有关(8,12,34)?还是n没有初始值?
      

  4.   

    例子
    ----------------------------------------------
    int n=4;
    switch(n)
    {
    case 1:
    case 3:
    case 5:
    MessageBox.Show("a");
    break;
    case 2:
    case 4:
    case 6:
    MessageBox.Show("b");
    break;
    }
      

  5.   

    10-20的时候 也得一个一个写。。
    switch (n)
    case 10:
    case 11:
    ...
    case 19:
    case 20:
    //处理
      

  6.   

    case 8,12,34: ........处理上面的有中文的逗号。
      

  7.   

    如果是字符型的又怎么写?
    ---------------------------
    char c;
    // 给 c 赋值
    switch (c)
    {
      case '0': case '2': case '4': case '6': case '8':
        // 处理
        break;
      case '1': case '3': case '5': case '7': case '9':
        // 处理
        break;
      case 'A': case 'a':
        // 处理
        break;
      case 'B': case 'b':
        // 处理
        break;
    }
      

  8.   

    C# 原来这么麻烦的!要一个个case,我以前用delphi,可以用,分开就行了!
    谢谢大家