Switch statements are rubbish. Only work on strings and numbers. Require an exact match value. Let’s abuse, oh, to pick a C# feature at random, collection initialisers, and use it to make them better! string switchValue = "house";
switch (switchValue)
{
case "hello":
Console.WriteLine("Value was hello");
break;
// But how can we handle, say, all other strings that start with h?
default:
Console.WriteLine("No match - Fallthrough");
break;
}
// here’s one way:
new Switch<string>(switchValue)
{
{ "hello",...