C#中的switch用法总结(原创)--王超C#


switch()

switch(var)
{
case var1:
   code;
   break;
case var2:
  code;
  break;
...

default:
code;
break;

}

执行完一个case,不能跳转到另一个case;

每个case代码都要有break;

string i="a";
            switch(i)
            {
                case "a":
                    Console.WriteLine("a");
                    break;
                case "b":
                    Console.WriteLine("b");
                    break;
                default:
                    Console.WriteLine("c");
                    break;
            
            }
            Console.ReadKey();


可以使用return;结束整个函数;可以不用break;

string i="a";
            switch(i)
            {
                case "a":
                    Console.WriteLine("a");
                    //break;
                    return;
                case "b":
                    Console.WriteLine("b");
                    break;
                default:
                    Console.WriteLine("c");
                    break;
            
            }
            Console.WriteLine("xxx");
            Console.ReadKey();

也可以使用goto来跳转执行,实际上每个case都是一个label;

string i="a";
            switch(i)
            {
                case "a":
                    Console.WriteLine("a");
                    //break;
                    //return;
                    goto case "b";
                case "b":
                    Console.WriteLine("b");
                    break;
                default:
                    Console.WriteLine("c");
                    break;
            
            }
            Console.WriteLine("xxx");
            Console.ReadKey();

多个case对应一种执行代码:

string i="c";
            switch(i)
            {
                case "a":
                case "c":
                case "d":
                    Console.WriteLine("acd");
                    break;
                    //return;
                    //goto case "b";
                case "b":
                    Console.WriteLine("b");
                    break;
                default:
                    Console.WriteLine("c");
                    break;
            
            }
            Console.WriteLine("xxx");
            Console.ReadKey();

default的位置不一定写在最后,可以任意

string i="b";
            switch(i)
            {
                case "a":
                case "c":
                case "d":
                    Console.WriteLine("acd");
                    break;
                    //return;
                    //goto case "b";
                default:
                    Console.WriteLine("c");
                    break;
                case "b":
                    Console.WriteLine("b");
                    break;
                
            
            }
            Console.WriteLine("xxx");
            Console.ReadKey();


如果case a 执行一句,case b 执行一句,case a 不仅执行case a 而且还执行case b,需要用goto

string i="a";
            switch(i)
            {
                case "a":
                    Console.WriteLine("a");
                    goto case "b";
                
                case "b":
                    Console.WriteLine("b");
                    break;
                default:
                    Console.WriteLine("c");
                    break;
            
            }
            Console.WriteLine("xxx");
            Console.ReadKey();

以上是switch所有的情况,谢谢大家指正。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM