switch()の中身の書き方

VBのselect文とC#のswitch文は挙動が違う。
VBだと

Select Case abc
Case a
Case b
    foo()  
Case c
    bar()
End Select

と書いた場合、aのケースは何もしないで飛ばされる。
が、C#の場合は

switch (abc)
{
    case a:
    case b:
        foo();
        break;
    case c:
        bar();
        break;
}

と書いた場合、aとbは同じケースと見なされる。
基本的にC#のcase文は「上から順に複数のcaseへ流れ落ちる処理」を許可していないけれど、中身が空の場合のみ許可されるみたい。

switch (abc)
{
    case a:
        break;
    case b:
        foo();
        break;
    case c:
        bar();
        break;
}

と書けば別物と見なされる。