c# 程式設計學習(四)

安全劍客發表於2019-05-06

邏輯AND(邏輯與)運算子(用&&表示)和邏輯OR(邏輯或) 運算子(用||表示)。這兩個運算子統稱條件邏輯運算子。
只有作為運算元的兩個布林表示式都為 true。
運算子&&和||都支援短路求值
例如,假定運算子&& 的左運算元求值為 false,整個表示式的結果肯定是 false,無論右運算元的值是什麼
if 語句的語法如下所示(if 和 else 是 C#關鍵字):

if ( booleanExpression )
statement-1;
else
statement-2;

如果booleanExpression(布林表示式)求值為true,就執行 statement 1;否則執行statement 2。
else 關鍵字和後續的 statement 2 是可選的。
如果沒有 else 子句,而且 booleanExpression 為 false,那麼什麼事情都不會發生,程式繼續執行 if 語句之後的程式碼。
注意布林表示式必須放在圓括號中,否則無法編譯
表示式必須是布林表示式。在 另一些語言中(尤其是 C 和 C++),還可以使用整數表示式,編譯器自動將整數值轉換成 true(非 0 值)或 false(0)。C#不允許這樣做,看到這樣的表示式會報告編譯錯誤。
switch 語句語法如下(switch,case 和 default 是 C#關鍵字):

switch ( controllingExpression )
{
case constantExpression :
statements
break;
case constantExpression :
statements
break;
...
default :
statements
break;
}

controllingExpression(控制表示式)只求值一次,而且必須包含在圓括號中。然後逐個檢查
constantExpression(常量表示式), 找到和 controllingExpression 值相等的, 就執行由它標識的程式碼塊(constantExpression 稱為 case 標籤)。進入程式碼塊後,將一直執行到 break;語句。 遇到 break;後,switch 語句結束,程式從 switch 語句結束大括號之後的第一個語句繼續執 行。沒有找到任何匹配的 case 標籤,就執行由可選的 default 標籤所標識的程式碼塊。
注意 每個 constantExpression 值都必須唯一,使 controllingExpression 只能與它們當中 的一個匹配。如果 controllingExpression 的值和任何 constantExpression 的值都不匹配,也沒有 default 標籤,程式就從 switch 的結束大括號之後的第一個語句繼 續執行。
switch 語句很有用,但使用須謹慎。switch 語句要嚴格遵循以下規則:
switch 語句的控制表示式只能是某個整型(int,char,long 等)或 string。其他任何 型別(包括 floatfloat 和 double 型別)只能用 if 語句。
case 標籤必須是常量表示式,如 42(控制表示式是 int),'4'(控制表示式是 char)或 "42"(控制表示式是 string)。要在執行時計算 case 標籤的值,必須使用 if 語句。
case 標籤必須唯一,不允許兩個 case 標籤具有相同的值。
可以連續寫多個 case 標籤(中間不間插額外的語句),指定在多種情況下都執行相 同的語句。如果像這樣寫,最後一個 case 標籤之後的程式碼將適用於所有 case。但 假如兩個標籤之間有額外的程式碼,又沒有使用 break 跳出,就不能從第一個標籤 貫穿(也稱直通)到第二個標籤,編譯器會報錯。
例如:

switch (trumps)
{
case Hearts :
case Diamonds : // 允許直通——標籤之間無額外程式碼
color = "Red"; // Hearts和Diamonds兩種情況都執行相同的程式碼
break;
case Clubs :
color = "Black";
case Spades : // 出錯——標籤之間有額外程式碼,又沒有用break跳出
color = "Black";
break;
}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2643374/,如需轉載,請註明出處,否則將追究法律責任。

相關文章