Не вызывается метод из другого класса, программа завершает работу без ошибок C#

Я пытаюсь написать программу по работе с базой данных из консоли, и на этапе выбора действия пытаюсь вызвать метод из другого класса, но при вызове программа даже не заходит в класс а просто завершает работу без каких-либо ошибок

namespace TetsBD
{
    class Program
    {
        static void Main(string[] args)
        {

            int modeSelection;

            Console.WriteLine("Выберите режим раборы программы:");
            Console.WriteLine("1.Создание таблицы");
            modeSelection = Console.Read();

            if (modeSelection == 1)
            {
                CreateColections create = new CreateColections();
                create.createColections();

                Console.WriteLine(create.createColections());
            }
        }
    }

    public class CreateColections
    {
        public string createColections()
        {
            string nameColections;
            nameColections = Console.ReadLine();
            Console.WriteLine(nameColections);
            return nameColections;
        }
    }

}

Ответы (1 шт):

Автор решения: Dev18

Советую использовать Debug (F11)

введите сюда описание изображения

1 = 49 как верно подмеченно в комментариях, что Read() берет код ASCII

Вместо Read() можно использовать Console.ReadLine() в комбинации с int.TryParse(). ReadLine() считает строку, а TryParse() поможет безопасно конвертировать эту строку в число. В таком случае ваше условие сработает

if (int.TryParse(Console.ReadLine(), out modeSelection) && modeSelection == 1)
{
   //тогда при вводе 1, вы зайдете сюда
}

...Неудобно будет пользоваться. – rotabor

а можно просто считать с помощью Console.ReadKey() без "ввода" и мы войдем в условие, если мы уверенны, что у нас один символ

ConsoleKeyInfo keyInfo = Console.ReadKey(intercept: true);
char modeSelection = keyInfo.KeyChar; 

if (modeSelection == '1') 
{
   //вошли в наш if 
}
→ Ссылка