[Mono-list] Helo in switch-case:
Miguel de Icaza
miguel@ximian.com
16 Mar 2002 03:25:39 -0500
> : Even default: labels must have a break in C#, I believe.
>
> On the contrast, my "break" statements are redundant. C# does not believe in
> "break" - it does it by default. This is in exactly opposite direction with what
> we have in other languages (C/C++/Java) where the flow is automatically
> transferred to next label if no break if found.
>
> In C#, whether or not break is there, the control is transferred to the end
> of the block. So, applying break to default may not help.
Breaks are required as John pointed out in C# even on the default case,
because your code can look like this:
switch (x){
default: ...
case 1:
}
> Miguel - what implementation do we have in our mcs for this? This is going
> to be a critical point -- applying a "break" even after the last option, I mean,
> making it a total must. I hate that.
It is part of the spec, so MCS will do the same thing MS C# does.
Currently, I do not perform any flow analysis, so you *might* get away
with not putting a final break, but that will change ;-)
Miguel.