首页 > 解决方案 > C# 程序关闭而不打印最终的 WriteLine 语句

问题描述

我正在尝试编写一个 C# 程序(在 Visual Studio 中),该程序将一些数字作为键盘输入并打印其中最小和最大的数字。这是一个家庭作业,我打算只使用到目前为止课堂上涵盖的东西。所以,我很清楚这可以通过数组和 MATH.min 和 max 方法以更简单的方式完成。然而,这个程序的重点只是练习 if/else 逻辑。无论如何,逻辑不是我的问题。下面的代码按预期工作,直到输入最终用户输入的数字,然后它只是关闭而不打印用于显示结果的最终 writeline 语句。有什么需要做的来解决这个问题吗?谢谢!

using System;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            double maxNum = 0;
            double minNum = int.MaxValue;

            int numToEnter;
            int enterCounter = 0;

            double currentNum;

            Console.Write("How many numbers will be entered?: ");
            numToEnter = int.Parse(Console.ReadLine());

            while (enterCounter < numToEnter)
            {
                Console.Write("Enter a positive number: ");
                currentNum = double.Parse(Console.ReadLine());
                if (currentNum >= 0)
                {
                    if (currentNum >= maxNum)
                    {
                        maxNum = currentNum;
                    }

                    if (currentNum < minNum)
                    {
                        minNum = currentNum;
                    }

                    enterCounter++;
                }
                else
                {
                    Console.Write("Please enter a positive number: ");
                }


            }

            Console.WriteLine("The largest number is: {0}. The lowest number is: {1}", maxNum, minNum);
        }

    }
}

标签: c#io

解决方案


您的问题可能与您测试程序的方式有关。我不能确定,但​​解决它的一种方法是在 main.js 的末尾使用它。

Console.ReadLine();

您是在调试的情况下运行它还是在不调试的情况下运行它?我怀疑您正在运行调试,这可以解释为什么会发生这种情况。“开始调试”和“开始不调试”之间存在区别,一般来说,调试会立即终止应用程序,但“发布构建”不会。因此,您可以使用任一 Console.ReadLine() 方法来停止它,但如果您的讲师需要发布版本,那么您的代码就可以了。

F5 = 带调试运行 CTRL + F5 = 不带调试运行(用于发布版本)或者如果您不知道如何使用断点。

我个人建议对这个实例使用 for 循环。

for (enterCounter; enterCounter <= numToEnter; enterCounter++)
{
     //Run This code
}

推荐阅读