VisualC#2005快速入門之switch語句

字號:

某些時候,在嵌套使用if語句時,所有if語句看起來都非常相似,因為它們都在對一個完全相同的表達式進行求值,惟一的區(qū)別是每個if語句都將表達式的結(jié)果與一個不同的值進行比較。例如:
    if (day == 0)
    dayName = "Sunday";
    else if (day == 1)
    dayName = "Monday";
    else if (day == 2)
    dayName = "Tuesday";
    else if (day == 3)
    ...
    else
    dayName = "Unknown";
    在這些情況下,通常需要將嵌套的if語句改寫為一個switch語句,使程序更有效、更容易懂。
    理解switch語句的語法
    switch語句的語法如下(switch,case和default是關(guān)鍵字):
    switch ( controllingExpression )
    {
    case constantExpression :
    statements
    break;
    case constantExpression :
    statements
    break;
    ...
    default :
    statements
    break;
    }
    controllingExpression(控制表達式)只求值一次。然后,從其constantExpression值等于controllingExpression值的case開始,它下方的所有語句都會一直運行,直到遇到一個break為止。隨后,switch語句將結(jié)束,程序從switch結(jié)束大括號之后的第一個語句繼續(xù)執(zhí)行,并忽略其他case。
    假如任何一個constantExpression值都不等于controllingExpression的值,就運行可選標簽default之下的語句。
    注意 假如controllingExpression的值和任何一個case標簽都不匹配,同時沒有發(fā)現(xiàn)一個default標簽,程序會跳過整個switch語句,從它的結(jié)束大括號之后的第一個語句繼續(xù)執(zhí)行。
    例如,前面的嵌套if語句可以改寫為以下switch語句:
    switch (day)
    {
    case 0 :
    dayName = "Sunday";
    break;
    case 1 :
    dayName = "Monday";
    break;
    case 2 :
    dayName = "Tuesday";
    break;
    ...
    default :
    dayName = "Unknown";
    break;
    }