VisualC#2005快速入門之switch語句

字號(hào):

某些時(shí)候,在嵌套使用if語句時(shí),所有if語句看起來都非常相似,因?yàn)樗鼈兌荚趯σ粋€(gè)完全相同的表達(dá)式進(jìn)行求值,惟一的區(qū)別是每個(gè)if語句都將表達(dá)式的結(jié)果與一個(gè)不同的值進(jìn)行比較。例如:
    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語句改寫為一個(gè)switch語句,使程序更有效、更容易懂。
    理解switch語句的語法
    switch語句的語法如下(switch,case和default是關(guān)鍵字):
    switch ( controllingExpression )
    {
    case constantExpression :
    statements
    break;
    case constantExpression :
    statements
    break;
    ...
    default :
    statements
    break;
    }
    controllingExpression(控制表達(dá)式)只求值一次。然后,從其constantExpression值等于controllingExpression值的case開始,它下方的所有語句都會(huì)一直運(yùn)行,直到遇到一個(gè)break為止。隨后,switch語句將結(jié)束,程序從switch結(jié)束大括號(hào)之后的第一個(gè)語句繼續(xù)執(zhí)行,并忽略其他case。
    假如任何一個(gè)constantExpression值都不等于controllingExpression的值,就運(yùn)行可選標(biāo)簽default之下的語句。
    注意 假如controllingExpression的值和任何一個(gè)case標(biāo)簽都不匹配,同時(shí)沒有發(fā)現(xiàn)一個(gè)default標(biāo)簽,程序會(huì)跳過整個(gè)switch語句,從它的結(jié)束大括號(hào)之后的第一個(gè)語句繼續(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;
    }