C++編程人員容易犯的10個C#錯誤9

字號:

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