Только часть программы выполняется - PullRequest
0 голосов
/ 12 ноября 2018

Я следую этому уроку https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169?l=83b9cRQIC_9706218949 и не могу заставить программу работать, хотя я скопировал точный код, как в учебнике.

У меня Ubuntu 16.04, поэтому яиспользуя код Visual Studio.И у меня .NET SDK версии 2.1.403.

Вот код моей программы:

using System;

   namespace Decision
   {
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Miina's Big Giveaway");
            Console.Write("Choose a door: 1, 2 or 3 ");
            string userValue = Console.ReadLine();

            if (userValue == "1")
            {
                string message = "You won a new car!";
                Console.WriteLine(message);
            }

            Console.ReadLine();
        }
    }
}

Проблема в том, что программа не пишет строку «Выберите дверь... ".Только когда я прекращаю выполнение программы, в терминале отладки появляется строка «Выберите дверь ...».

И если я попытаюсь ввести «1» во время работы программы, ничего не произойдет, хотя она должна проходить через команды в операторе if.Я не могу понять, в чем проблема.

Обновление отладки При отладке рядом с Console.Write -line появляется лампочка.Я не уверен, что это значит. Изображение результата отладки Обновление Программа работает правильно, когда я запускаю ее через терминал.Так что я думаю, что я должен использовать терминал с кодом Visual Studio.Но было бы неплохо использовать отладчик, поэтому, если кто-нибудь знает, как я могу заставить его работать, дайте мне знать.

1 Ответ

0 голосов
/ 12 ноября 2018

Я подозреваю, что Console.Write не сбрасывается (стандартный вывод в Linux не буферизуется и очищается только в конце строки).

Попробуйте Console.Out.Flush() в качестве обходного пути.Это не красиво, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...