仅一部分程序执行

时间:2018-11-12 14:25:56

标签: c# .net ubuntu visual-studio-code

我正在关注本教程https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169?l=83b9cRQIC_9706218949 尽管我已经复制了本教程中的确切代码,但仍无法使程序正常工作。

我有Ubuntu 16.04,所以我正在使用Visual Studio Code。我有.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旁边会出现一个灯泡。我不确定那是什么意思。 Picture of the debugging result  更新 通过终端运行该程序时,该程序正常运行。所以我想我必须将终端与Visual Studio Code一起使用。但是使用调试器会很好,所以如果有人知道我如何使它工作,请告诉我。

1 个答案:

答案 0 :(得分:2)

我怀疑Console.Write未被刷新(Linux上的stdout是未缓冲的,仅在行尾刷新)。

尝试使用Console.Out.Flush()作为解决方法。不过,它并不漂亮。