大家看这个例子:这是不是说明switch中用char定义不行,没办法完成判断效果!
public static void Main()
    {
          string name="x";(使用这个程序是对的
          // char name="x";(一使用这个就不行的)
        //  char name='x';(于是我换成这个也不行)        switch (name)
        {
            case "Robert":
                Console.WriteLine("HI Bob");
                break;
            case "Richard":
                Console.WriteLine("HI Rich");
                break;
            case "Barbara":
                Console.WriteLine("HI Barb");
                break;
            case "Kalee":
                Console.WriteLine("YOU Go Gid!");
                break;
            default:
                Console.WriteLine("HIx");
                break;
        }
        Console.Read();
    }

解决方案 »

  1.   

    编译成功!提醒一下,如果你字符,那么后面也要用'a'。            char ta = 'a';
                switch (ta)
                {
                    case 'a':
                        break;
                    case 'b':
                        break;
                    case 'C':
                        break;
                    default:
                        break;
                }
      

  2.   

    做到switch的参数(基础数据类型int,string,char等等)和case 常量的 数据类型一致就可以了。public static void Main() 
        { 
            char name='k';
            switch (name)
            {
                case 'A':
                    Console.WriteLine("HI Bob");
                    break;
                case 'R':
                    Console.WriteLine("HI Rich");
                    break;
                case 'B':
                    Console.WriteLine("HI Barb");
                    break;
                case 'G':                
                    Console.WriteLine("YOU Go Gid!");
                    break;
                default:
                    Console.WriteLine("HIx");
                    break;
            }
            Console.Read();
        }