Avoid using goto statements

Metadata

ID: csharp-best-practices/avoid-goto-use

Language: C#

Severity: Notice

Category: Best Practices

Description

The use of goto statements can make your code harder to maintain. A structured control flow statement such as an if, a loop, a continue, or a break can make the code much easier to read.

Non-Compliant Code Examples

string ID = "baz";
switch (ID)
{
    case "foo":
        Console.WriteLine("foo");
        break;
    case "bar":
        Console.WriteLine("bar");
        goto case "baz";
        break;
    case "baz":
        Console.WriteLine("baz");
    default:
        Console.WriteLine("n/a");
        break;
}

Compliant Code Examples

string ID = "baz";
switch (ID)
{
    case "foo":
        Console.WriteLine("foo");
        break;
    case "bar":
        Console.WriteLine("bar");
        break;
    case "baz":
        Console.WriteLine("baz");
    default:
        Console.WriteLine("n/a");
        break;
}