Before reading any further, please read the disclaimer.
Overall, C# takes an approach which is far more friendly to novice programmers than its predecessors, C and C++ were. For example, in the case of switch statements, C# does not allow the old, error-prone style of C and C++ where you could simply fall through from one case statement to the following one; instead, at the end of each case statement C# requires either a break statement, or a goto statement to explicitly jump to another label. That's all very nice and dandy, except for one thing: C# requires a break or goto even at the last case statement of a switch statement!
namespace Test9
{
class Test
{
void statement() { }
void wtf_is_it_with_falling_through_the_last_case_label( int a )
{
switch( a )
{
case 42:
statement();
break;
default:
statement();
break; //Need this 'break' or else: CS0163: Control cannot fall through from one case label ('default:') to another
}
}
}
}I mean, seriously, WTF?
-
No comments:
Post a Comment