• ASP.Net
  • import_contacts switch 陳述式
    60
適用範圍

程式設計基礎

實用性:
重要性:

switch 陳述式為多重選擇的控制結構

通常我們習慣針對三個以上多條件使用 switch 陳述式來替代 if-else 的方式

透過將程式控制權轉移到主體內其中一個 case 陳述式的方式來處理

如果沒有符合參數值的 case 運算式,程式控制權會轉移到選擇性 default 標籤隨後的陳述式。如果沒有 default 標記,程式控制權就會轉移到 switch 之外。

下面範例將會印出 Case 2 字樣

int c = 2;
switch (c)
{
    case 1:
        Response.Write("Case 1");
        break;
    case 2:
        Response.Write("Case 2");
        break;
    default:
        Response.Write("Default Case");
        break;
}

下面範例將會印出 Default Case 字樣

int c = 5;
switch (c)
{
    case 1:
        Response.Write("Case 1");
        break;
    case 2:
        Response.Write("Case 2");
        break;
    default:
        Response.Write("Default Case");
        break;
}

在前面的範例中,使用了整數類資料型別變數,當然也可以使用字串變數或其它資料型別,例如下面的範例會印出 Case 1 字樣

string c = "1"
switch (c)
{
    case "1":
        Response.Write("Case 1");
        break;
    case "2":
        Response.Write("Case 2");
        break;
    default:
        Response.Write("Default Case");
        break;
}

下列範例來判斷特定日期是週末、工作週的第一天、工作週的最後一天,還是工作週的中間一天

switch (DateTime.Now.DayOfWeek)
        {
           case DayOfWeek.Sunday:
           case DayOfWeek.Saturday:
              Response.Write("今天是週末");
              break;
           case DayOfWeek.Monday:
              Response.Write("今天是星期一,工作週的第一天");
              break;
           case DayOfWeek.Friday:
              Response.Write("今天是星期五,工作週的最後一天");
              break;
           default:
              Response.Write("今天是工作週的中間一天");
              break;   
        }

上面範例 case DayOfWeek.Sunday: 並沒有該執行的區塊與 break; ,則會與下一項 case 執行相同的程式區塊 (即和 case DayOfWeek.Saturday: 相同)