If I have a case 42: in C#, I can issue a goto42 and resume execution after that case? Or how would that work?
From what I know, labels are only an identifier followed by a colon, like:
stop: printf("stopped.\n");
Or just the label and colon on one line and statements following on subsequent lines. I’ve never seen a switch case expression being called a “label”. Very new to me. Would love to see a minimal demonstration example. 🙏
What?
If I have a
case 42:in C#, I can issue agoto 42and resume execution after that case? Or how would that work?From what I know, labels are only an identifier followed by a colon, like:
stop: printf("stopped.\n");Or just the label and colon on one line and statements following on subsequent lines. I’ve never seen a switch case expression being called a “label”. Very new to me. Would love to see a minimal demonstration example. 🙏
Edit: huh, I guess you can.
Yes, you would do
goto case 42;From MSDN:
private static decimal CalculatePrice(CoffeeChoice choice) { decimal price = 0; switch (choice) { case CoffeeChoice.Plain: price += 10.0m; break; case CoffeeChoice.WithMilk: price += 5.0m; goto case CoffeeChoice.Plain; case CoffeeChoice.WithIceCream: price += 7.0m; goto case CoffeeChoice.Plain; } return price; }