Ваша проблема, вероятно, связана с тем, как вы тестируете программу. Я не могу быть уверен, но один из способов исправить это с помощью этого в конце вашего основного.
Console.ReadLine();
Вы запускаете его с отладкой или без отладки? Я подозреваю, что вы работаете с отладкой, которая объясняет, почему это происходит. Существует разница между «Начать с отладки» и «Начать без», вообще говоря, отладка приведет к немедленному завершению работы приложения, а «Сборка релиза» - нет. Таким образом, вы можете использовать любой метод Console.ReadLine (), чтобы остановить его, но если ваш инструктор требует сборки выпуска, то ваш код в порядке.
F5 = Запуск с отладкой
CTRL + F5 = Запуск без отладки (используется для сборок релизов) или если вы не знаете, как использовать точки останова.
Лично я рекомендую использовать цикл for с этим экземпляром.
for (enterCounter; enterCounter <= numToEnter; enterCounter++)
{
//Run This code
}