Question: ```
 class Program
 {
    static void Main(string[] args)
    {
        string Studentname;
        string retry = "No";

        Console.WriteLine("What is the Student's name? ");

        while (retry != "No")
             Console.WriteLine("What is the Student's name? ");

        Studentname = Console.ReadLine();

        switch (Studentname) {
            case "George":
                Console.WriteLine("Yes in the list");
                Console.ReadLine();
                break;

            case "Goblin":
                Console.WriteLine("Yes in the list");
                Console.ReadLine();
                break;

            case "Peter":
                Console.WriteLine("Yes in the list");
                Console.ReadLine();
                break;

            case "TJ":
                Console.WriteLine("Yes in the list");
                Console.ReadLine();
                break;

            default:
                Console.WriteLine("Not in the list");
                Console.WriteLine("Would you like to retry?");
                retry = Console.ReadLine();
                break;
        }
    }
}

```

I'm trying to loop around the case statement if the answer is incorrect, however the statement always breaks and I am unable to loop. How would I solve this issue?

Answer: 
The keyword "break" only breaks out of the first code block (space in-between the {...}) it is in. The break in your switches shouldn't interfere with your while loop at all.

The issue is that you have no brackets after your while loop so it only acts on the line directly after.

Below is probably what you were looking for.

```
class Program
{
    static void Main(string[] args)
    {
        string Studentname;
        string retry = "No";

        Console.WriteLine("What is the Student's name? ");
        do
        {
            Console.WriteLine("What is the Student's name? ");
            Studentname = Console.ReadLine();

            switch (Studentname)
            {
                case "George":
                    Console.WriteLine("Yes in the list");
                    //Console.ReadLine();
                    break;
                case "Goblin":
                    Console.WriteLine("Yes in the list");
                    //Console.ReadLine();
                    break;
                case "Peter":
                    Console.WriteLine("Yes in the list");
                    //Console.ReadLine();
                    break;
                case "TJ":
                    Console.WriteLine("Yes in the list");
                    //Console.ReadLine();
                    break;
                default:
                    Console.WriteLine("Not in the list");
                    Console.WriteLine("Would you like to retry?");
                    retry = Console.ReadLine();
                    break;
            }
        } while (retry != "No");
    }
}

```

EDIT: Your while loop also was never entered. You set "retry" to "No" then check if it is not "No". To solve this you can either use a "do ... while()" loop which always loops at least one time or you can change the first assignment of "retry" to anything but "No".

EDIT 2: @Kason is correct. I didn't realize your actual goal was to exit if the name was found. If that is the case then a "do ... while()" is your best option.
There are no curly brackets following the beginning of the `while` loop. That means that the `while` statement only applies to the immediately following line.

```
while (retry != "No")
    Console.WriteLine("What is the Student's name? ");

```

As was mentioned, `retry` starts off as "No". So when the `while` condition is evaluated it is false. The following line never executes because it's only supposed to execute if `retry != "No"`.

When you want `while` to apply to a block of statements, put them in curly braces.

```
while (retry != "No")
{
    //Everything inside these braces will execute if retry != "No".
    //If it gets to the end and retry still != "No" then it will repeat.
    //You'd most likely want to do something inside this loop sooner or
    //later that changes retry to something else so that the loop can
    //end. Or you can use "break" to exit the loop.
}

```