C#中的 switch-case 語句


執行過程:

  程序執行到switch處,首先將括號中變量或者表達式的值計算出來,然后拿着這個值依次跟每個case后面所帶的值進行匹配,一旦匹配成功,則執行該case所帶的代碼,執行完成后,遇到break。

跳出switch-case結構。如果,跟每個case所帶的值都不匹配。就看當前這個switch-case結構中是否存在default,如果有default,則執行default中的語句,如果沒有default,則該switch-case結構,什么都不做。

switch條件語句的表達式的類型可以是: bool,整形,char,string,枚舉,或相應可以為null的類型.

[例一]

編寫一個控制台程序,輸入一個學生的成績,輸出其等級。(優:>=90;良:>=80;中:>=70; 及格:>=60;不及格:<60)

 1 static void Main(string[] args)
 2         {
 3             Console.WriteLine("please input:");
 4             int opition = int.Parse(Console.ReadLine());
 5             switch (opition/10)
 6             {
 7                 case 10:
 8                 case 9:
 9                     Console.WriteLine("youxiu");
10                     break;
11                 case 8:
12                     Console.WriteLine("lianghao");
13                     break;
14                 case 7:
15                     Console.WriteLine("zhong");
16                     break;
17                 case 6:
18                     Console.WriteLine("jige");
19                     break;
20                 case 5:
21                 case 4:
22                 case 3:
23                 case 2:
24                 case 1:
25                 case 0:
26                     Console.WriteLine("bujige");//看這個,如果最后會輸出相同的結果,方便起見,可以不在每一個case塊后打break,當然也可以打上(如果打break的話就要在每一個有break的塊內寫輸出)
27                     break;
28             }
29             Console.ReadLine();
30 
31         }

[例二]

李四的年終工作評定,如果定為A級,則工資漲500元, 如果定為B級,則工資漲200元,如果定為C級,工資不變,如果定為D級工資降200元,如果定為E級工資降500元.
設李四的原工資為5000,請用戶輸入李四的評級,然后顯示李四來年的工資.

 1  static void Main(string[] args)
 2         {
 3             bool b = true;//注意此處設計bool值的用意,考慮到了還有一種是輸錯了的情況
 4             double salary = 5000;
 5             Console.WriteLine("請輸入李四的年終評定(A, B, C, D, E):");
 6             string level = Console.ReadLine();
 7 
 8             switch (level)//可以填字符串形式
 9             {
10                 case "A"://字符串記得要加雙引號
11                     salary += 500;
12                     break;
13                 case "B":
14                     salary += 200;
15                     break;
16                 case "C":
17                     //salary =
18                     break;
19                 case "D":
20                     salary -= 200;
21                     break;
22                 case "E":
23                     salary -= 500;
24                     break;
25                 default:
26                     Console.WriteLine("error, please try again!");
27                     b = false;
28                     break;
29             }
30             if(b)
31             {
32                 Console.WriteLine($"李四明年的工資是{salary}元");
33             }
34             Console.ReadKey();//運行完后等待按鍵關閉窗口
35         }

c#中switch語句兩個case標簽之間有代碼,卻沒有break跳出的話,系統會提示錯誤,控制不能從一個case標簽貫穿到另一個case標簽.--所以擔心出問題的同學就在每個case后打break吧.

 

很簡單,帶腦子按例子多打兩遍就會了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM