From 3733c0a5c904db688d0c8b4b5e4ddd3d28a92599 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 8 Oct 2025 00:57:17 +0200 Subject: [PATCH 1/4] Remove the misleading example of default in switch --- docs/csharp/language-reference/compiler-messages/cs0163.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/csharp/language-reference/compiler-messages/cs0163.md b/docs/csharp/language-reference/compiler-messages/cs0163.md index 2be35de536d14..4b844d30d5338 100644 --- a/docs/csharp/language-reference/compiler-messages/cs0163.md +++ b/docs/csharp/language-reference/compiler-messages/cs0163.md @@ -48,12 +48,10 @@ public class MyClass case 3: i = 0; return; - - // Compiler error CS0163 is reported on the following line. + default: Console.WriteLine("Default"); - // To resolve the error, uncomment the following line: - //break; + break; } } ``` From f29a026fb8999ef1b1b1b0c35b264b21d02dcaec Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 8 Oct 2025 00:57:42 +0200 Subject: [PATCH 2/4] Add the missing closing bracket --- docs/csharp/language-reference/compiler-messages/cs0163.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/csharp/language-reference/compiler-messages/cs0163.md b/docs/csharp/language-reference/compiler-messages/cs0163.md index 4b844d30d5338..2ca021b5fea70 100644 --- a/docs/csharp/language-reference/compiler-messages/cs0163.md +++ b/docs/csharp/language-reference/compiler-messages/cs0163.md @@ -54,4 +54,5 @@ public class MyClass break; } } +} ``` From cf53e11b516fe85e26076af18d9a6d9aeb114b89 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 8 Oct 2025 00:59:22 +0200 Subject: [PATCH 3/4] Replace return with break in case 3 --- docs/csharp/language-reference/compiler-messages/cs0163.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/csharp/language-reference/compiler-messages/cs0163.md b/docs/csharp/language-reference/compiler-messages/cs0163.md index 2ca021b5fea70..8bb276fd6ef45 100644 --- a/docs/csharp/language-reference/compiler-messages/cs0163.md +++ b/docs/csharp/language-reference/compiler-messages/cs0163.md @@ -47,7 +47,7 @@ public class MyClass case 3: i = 0; - return; + break; default: Console.WriteLine("Default"); From 27eae5d23c71b47f54a5c94f2f1ad41753ae636e Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 8 Oct 2025 01:14:23 +0200 Subject: [PATCH 4/4] Add an example of several cases with single implementation --- .../compiler-messages/cs0163.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/csharp/language-reference/compiler-messages/cs0163.md b/docs/csharp/language-reference/compiler-messages/cs0163.md index 8bb276fd6ef45..27095b7632c95 100644 --- a/docs/csharp/language-reference/compiler-messages/cs0163.md +++ b/docs/csharp/language-reference/compiler-messages/cs0163.md @@ -56,3 +56,26 @@ public class MyClass } } ``` + +Note that it is correct to have several `case`s for one implementation, like in the following snippet: + +```csharp +public class MyClass +{ + public static void Main() + { + int i = 0; + + switch(i) + { + case 1: + case 2: // No CS0163 + i++ + break; + + default: + break; + } + } +} +```