Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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的最后一行继续退出#_C# - Fatal编程技术网

C# 简单程序在代码C的最后一行继续退出#

C# 简单程序在代码C的最后一行继续退出#,c#,C#,我一直在学习一本书,因为我是C#的新手,其中一个项目是使用VSC上的控制台模板创建出生日期计算器。现在我确信我正确地遵循了教程,但由于某种原因,我的程序在最后一行关闭,以显示输入的信息和输出 已退出,代码为0(0x0) 这就是我得到的: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Hell

我一直在学习一本书,因为我是C#的新手,其中一个项目是使用VSC上的控制台模板创建出生日期计算器。现在我确信我正确地遵循了教程,但由于某种原因,我的程序在最后一行关闭,以显示输入的信息和输出

已退出,代码为0(0x0)

这就是我得到的:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HelloWorldAgain
{
    class Program
    {
        static void Main(string[] args)
        {
            string userName = "";
            int userAge = 0;
            int currentYear = 0;

            Console.Write("Please enter your name: ");
            userName = Console.ReadLine();

            Console.Write("Please enter your age: ");
            userAge = Convert.ToInt32(Console.ReadLine());

            Console.Write("Please enter current year: ");
            currentYear = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Hello World! My name is {0} and I am {1} years old. I was born in {2}.", userName, userAge, currentYear - userAge);

        }
    }
}

控制台应用程序设计为运行和退出。你应该添加一些东西来阻止它在你想要它完成之前完成。执行此操作的标准方法是使用以下命令等待输入:

Console.ReadLine();
将Readline()添加到代码末尾:

Console.WriteLine("Hello World! My name is {0} and I am {1} years old. I was born in {2}.", userName, userAge, currentYear - userAge);
Console.ReadLine()

使用代码0退出是完全正常的,通常表示程序已成功运行

如果使用调试器从visual studio运行控制台程序,则程序完成后,它将关闭终端窗口。如果在没有调试器的情况下运行,它通常会保持窗口打开,直到您按键


如果希望终端在调试器中保持打开状态,则可以在代码的最后一行添加断点,或者在程序末尾添加一个额外的
控制台。Readline
退出0代码意味着程序已完成且没有错误。在最后一行之后,没有任何东西可以执行,这意味着应用程序已经完成了它们的工作。如果你想让应用程序“执行”,你可以使用
Console.ReadLine()
的技巧,它只是等待读取一些内容。

你用ctrl+f5运行过它吗?在程序末尾写Console.ReadLine(),它会一直等到你给出任何输入。如果你用f5运行程序,它不会在最后等待。添加断点,
Console.ReadKey()
或使用F10一次调试一个步骤作为关闭确认,
ReadKey(false)
ReadLine()
看起来干净多了。谢谢这非常有帮助谢谢你的帮助回答这个额外的信息也非常有帮助