Основная проблема заключается в том, что вы вызываете readline дважды. При первом получении введенного значения, т. Е. При втором вызове, нет данных для чтения, поэтому возвращается «». Если вам нужно использовать один и тот же вход, сохраните его в переменной, т.е.
string inputVal = Console.ReadLine();
Я ненавижу операторы goto, возможно, вы могли бы реструктурировать свой код в цикл while, что-то вроде:
bool exit = false;
while(!exit)
{
Console.Write("Your Number: ");
//Your main code
Console.Write("Do you want to exit? Yes/No: ");
if(Console.ReadLine() != "No")
exit = true;
}
На самом деле, вы можете избавиться от переменной выхода, просто сделайте while (true) и вернитесь, если пользователь вводит что-то отличное от no.