What does “control falls through a switch statement” mean in this context? Control just moves on to the next statement?
I thought if there is no match and a default case doesn’t exist it will raise an exception. Is it not true?
What does “control falls through a switch statement” mean in this context? Control just moves on to the next statement?
I thought if there is no match and a default case doesn’t exist it will raise an exception. Is it not true?
A switch statement will let control fall through. A switch expression will no, and will throw an exception (and there will also be a compiler warning that it’s not exhaustive before you even run the code)
I think even
switch
statement doesn’t allow it because every case needs to be terminated with eitherbreak
,return
orraise
. One needs to usecase goto
if one wants fall thought like behavior:switch (x) { case "One": Console.WriteLine("One"); goto case "Two"; case "Two": Console.WriteLine("One or two"); break; }
A
switch
statement allows fall through when the case itself doesn’t have an implementation.For example this is also considered a fall through:
switch (x) { case "One": case "Two": Console.WriteLine("One or two"); break; }
TIL!!!
Thank you!