оператор goto учится только для того, что бы его не использовать. На много короче и логичнее будет if сразу при вводе. Так же не понятно, зачем писать int a = convert.toint32, когда int и int32 это одно и тоже, как str и string, longint и int64. Правда учился я на паскале, но в основе то одно и тоже...
С# требует при конвертации полное имя типа. А как используя if можно вернуться к вводу значения, где label?
Зачем делать конвертацию? На сколько помню int - это целые значения, почему бы не использовать real? Только нужно будет сделать ограничение на знаки после запятой для результата.
Делаешь вод значений через цикл while с проверкой, там просто. Так же делаешь проверку и на всё остальное.
do
{
//Сюда пиши свою хуйню
Console.WriteLine("Еще повычисляем, пидор? y/n");
answer = Console.ReadLine();
} while (answer != "n");

