[c#] C# switch statement limitations - why?