Comment by weavie
11 years ago
Interesting to see that they don't shy away from using goto in their code.
http://roslyn.codeplex.com/SourceControl/latest#Src/Compiler...
Something I've just learned from looking at the code is you can jump between cases in a switch statement :
switch (a) {
case '1':
...
case '2':
goto case '1';
}
Never realised you could do that.
Sometimes you even have to, because fall-through is illegal in C# except with empty case labels. goto case makes things more explicit.
Although there is no reason why they wouldn't use goto. The oft-cited "goto statement considered harmful" was in a very different context and basically just ranted against using goto when there are control structures that make intent clearer.
You can even jump back from a catch or finally handler to the try block ;) At least in MSIL.