Means it will be skipped entirely
.NET
Getting started
Useful resources
IDEs and code editors
- Visual Studio (Windows/Mac)
- Rider (Windows/Mac/Linux)
- Visual Studio Code (Windows/Mac/Linux)
Tools
Rules
- Rule 1: Follow Lemmy rules
- Rule 2: Be excellent to each other, no hostility towards users for any reason
- Rule 3: No spam of tools/companies/advertisements
Related communities
Wikipedia pages
- .NET (open source & cross platform)
- .NET Framework (proprietary & Windows-only)
I see, thank you! I got confused with "control falls through a switch statement" and "C++ style fall through in switch statements".
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)
A switch statement will let control fall through.
I think even switch
statement doesn't allow it because every case needs to be terminated with either break
, return
or raise
. One needs to use case 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;
}
C# outlaws this, because the vast majority of case sections do not fall through, and when they do in languages that allow it, it’s often a mistake caused by the developer forgetting to write a break statement (or some other statement to break out of the switch). Accidental fall-through is likely to produce unwanted behavior, so C# requires more than the mere omission of a break: if you want fall-through, you must ask for it explicitly.
Programming C# 10 ~ Ian Griffiths
I think even
switch
statement doesn't allow it [...]
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!