Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 只执行程序的一部分_C#_.net_Ubuntu_Visual Studio Code - Fatal编程技术网

C# 只执行程序的一部分

C# 只执行程序的一部分,c#,.net,ubuntu,visual-studio-code,C#,.net,Ubuntu,Visual Studio Code,我正在学习这个教程 虽然我复制了教程中的代码,但我无法让程序正常工作 我有Ubuntu 16.04,所以我使用的是Visual Studio代码。我有.NETSDK版本2.1.403 以下是我的程序代码: using System; namespace Decision { class Program { static void Main(string[] args) { Console.WriteLine("

我正在学习这个教程 虽然我复制了教程中的代码,但我无法让程序正常工作

我有Ubuntu 16.04,所以我使用的是Visual Studio代码。我有.NETSDK版本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语句中的命令。我想不出问题出在哪里

调试更新 当我调试时,控制台旁边会出现一个灯泡。我不知道那是什么意思。 更新
当我通过终端运行程序时,程序运行正常。所以我想我必须使用带有Visual Studio代码的终端。但使用调试器会很好,所以如果有人知道我如何让它工作,请告诉我。

我怀疑没有刷新
Console.Write
(Linux上的stdout是无缓冲的,并且只在行尾刷新)


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

我怀疑没有刷新
Console.Write
(Linux上的stdout是无缓冲的,只在行尾刷新)


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

你试过调试它吗?逐行检查代码以查看它实际执行的操作?只是为了确保行
Miina的大赠品
显示正确?您可能正在运行较旧版本的代码?进行重建。键入“1”后按Enter键了吗?@MetaColon-他说他使用的是SDK 2.1.403,这是.net core,不是mono。你试过调试它吗?逐行检查代码以查看它实际执行的操作?只是为了确保行
Miina的大赠品
显示正确?您可能正在运行较旧版本的代码?重新生成。键入“1”后按Enter键了吗?@MetaColon-他说他使用的是SDK 2.1.403,即.net core,而不是mono。什么是刷新?我将Console.Write()更改为Console.Out.Flush(),并得到一个错误“方法'Flush'不重载1个参数”。该错误表明您正在将参数传递给
Flush()
;它不需要任何…刷新是什么意思?我将Console.Write()更改为Console.Out.Flush(),并得到一个错误“方法'Flush'不需要重载1个参数”。该错误表明您正在将参数传递给
Flush()
;不需要任何。。。