C 在多種條件下選擇自己的路 swith結構

2021-09-08 14:50:58 字數 977 閱讀 6035

c#中的switch結構和if結構一樣都可以實現條件判斷,只是適用的條件不同。switch結構主要用於多重條件switch的語法如下:

switch (condition)

case 個數 >= 0。

任何兩個 case 語句的常量表示式都不能具有相同的值,注意是值不能相同。

case 和 default 的 break 必不可少。

default 可以省略,但為了可讀性以及可維護性,建議寫上,即使它什麼也不做。

condition 允許的資料型別為:sbyte、byte、short、ushort、uint、long、ulong、char、string 或者列舉型別。

switch後邊括號中的內容表示要判斷的條件,case是關鍵字,表示符合判斷條件的值,break關鍵字表示判斷結束並返回,關鍵字default表示如果括號中的條件和case中的值都不符合,預設執行的**塊。

using system;

class sample

console.writeline("小子,你",mystr);}}

注意:c#每個case和default都必須有break語句,除非兩個case之間沒有其他語句。

問題:如下**正確碼?

switch(choice)

{case 1:

case 2:

console.writeline("今天是工作日");

break;

case 3:

console.writeline("今天是休息日");

break;

default:

console.writeline("好好努力啊");

break;

這段**完全正確。case1和case2之間沒有需要執行的**,可以合併使用乙個break語句結束判斷。

注意:switch中要判斷的表示式只能是整型,字元型和字串。case不能進行邏輯操作,需要進行邏輯操作的判斷只能使用if...else結構。

解決多種條件下的反轉鍊錶問題

反轉鍊錶的m到n個節點 下面解法沒有加入啞節點,如果引入啞節點則最後返回時不需要分類討論 definition for singly linked list.struct listnode class solution 因為修改m到n過程中cur和pre會逐次向後移動 所以修改工作開始之前需要引入t...

mysql索引在in條件下失效的原因

1.如果索引欄位是字串,則必須在字段值外加上引號,如 select from notice where villageid in 0 4100000 1.如果資料量很小,mysql會認為掃瞄全表比使用索引快,自然不會使用索引.2.如果查詢結果資料量很多,mysql也不會使用索引.比如style 欄位...

strcat在某種特定條件下的優化

strcat 是c語言乙個基本的字串操作函式,它的源 一般是這樣的。由此可見,strcat呼叫時,先移動目標字串的指標到其尾部,再進行複製。這種做法對於下標比較大的陣列重複呼叫時,效率比較低。想象一下,第一次呼叫strcat時,指標由0數到100,只不過複製了幾個字元,第二次呼叫strcat時,指標...