首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# if 陳述式完整教學:語法、區塊、巢狀與實作練習

     編輯:關於C語言

基本語法

if (booleanExpression)
    statement-1;
else
    statement-2;  // 可省略
  • 條件必須為 布林運算式,不可像 C/C++ 使用整數隱性轉換
  • 編譯器會攔截 if (x = 5) 這類賦值誤寫
  • 布林變數可直接使用:if (inWord) 優於 if (inWord == true)

區塊陳述式分組多行

if (seconds == 59) {
    seconds = 0;
    minutes++;
} else {
    seconds++;
}

警告: 省略大括號會導致 else 無法正確配對,造成編譯錯誤或邏輯錯誤。

巢狀 if 與 else if 鏈

if (day == 0) dayName = "Sunday";
else if (day == 1) dayName = "Monday";
else if (day == 2) dayName = "Tuesday";
else if (day == 3) dayName = "Wednesday";
else if (day == 4) dayName = "Thursday";
else if (day == 5) dayName = "Friday";
else if (day == 6) dayName = "Saturday";
else dayName = "unknown";

每個 else if 只有在前面條件皆為 false 時才會評估。

實作練習:日期比較器

情境:比較兩個 DateTime 物件,回傳 -1/0/+1。

private int dateCompare(DateTime lhs, DateTime rhs) {
    int result;
    if (lhs.Year < rhs.Year) result = -1;
    else if (lhs.Year > rhs.Year) result = +1;
    else if (lhs.Month < rhs.Month) result = -1;
    else if (lhs.Month > rhs.Month) result = +1;
    else if (lhs.Day < rhs.Day) result = -1;
    else if (lhs.Day > rhs.Day) result = +1;
    else result = 0;
    return result;
}

邏輯層層遞進:年→月→日,任一層級差異即可決定結果,否則繼續比較下一層級。

測試驗證

  • 相同日期:== 為 True,<= >= 為 True
  • 第一日期較早:< <= 為 True
  • 第一日期較晚:> >= 為 True
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved