1

I'm C# beginner. Why appear the error (Compiler Error CS0152, A label was repeated in a switch statement. The switch statement contains multiple cases with the value of tag '6') in "case 6:" line, when I write this code:

namespace ConsoleApp1
{
    class Class1
    {
        public int abc { get; set; } 

        public Class1()
        {
            
        }

        public void mTest(int aVal)
        {
            switch(aVal)
            {
                case (2 | 4):
                {
                    break;
                }
                case 5:
                    {
                        break;
                    }
                case 6:
                    {
                        break;
                    }
            }
        }
    }
}
1
  • 3
    2 | 4 is a bit operation that is equal to 6. You have two cases for 6 which is not allowed. If you want to test for either 2 or 4, you have to write case 2: case 4: your_code; break; (on multiple lines). Commented Nov 12, 2021 at 1:25

1 Answer 1

1

You're almost there, but the correct way to pattern match that condition is:

case 2 or 4:
    break;
Sign up to request clarification or add additional context in comments.

1 Comment

This is a good answer, and it is not present in the other dup OPs' answers.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.