C++編程人員容易犯的10個(gè)C#錯(cuò)誤9

字號(hào):

錯(cuò)誤9:switch語(yǔ)句中會(huì)有些語(yǔ)句執(zhí)行不到
    在C#中,如果一個(gè)switch語(yǔ)句執(zhí)行了一些操作,則程序就可能不能執(zhí)行到下一個(gè)語(yǔ)句。因此,盡管下面的代碼在C++中是合法的,但在C#中卻不合法:
    switch (i)
    {
    case 4:
    CallFuncOne();
    case 5: // 錯(cuò)誤,不會(huì)執(zhí)行到這里
    CallSomeFunc();
    }
    要實(shí)現(xiàn)上面代碼的目的,需要使用一個(gè)goto語(yǔ)句:
    switch (i)
    {
    case 4:
    CallFuncOne();
    goto case 5;
    case 5:
    CallSomeFunc();
    }
    如果case語(yǔ)句不執(zhí)行任何代碼,則所有的語(yǔ)句都會(huì)被執(zhí)行。如下面的代碼:
    switch (i)
    {
    case 4: // 能執(zhí)行到
    case 5: // 能執(zhí)行到
    case 6:
    CallSomeFunc();
    }