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