caseSwitch
имеет в любое время только одно значение, поэтому оно всегда будет либо не 1, либо не 2. Замените ||
на &&
.Это означает, что вы зацикливаетесь, если caseSwitch
не равно 1 и не равно 2. В тот момент, когда оно является одним из них, оно останавливается.
while (caseSwitch != 1 && caseSwitch != 2)
{
Console.Write("Please write a number: ");
Int32.TryParse(userInput = Console.ReadLine(), out caseSwitch);
}