为什么没有调试的 C# 程序 运行 变慢

Why does C# Program Run Slower without Debugging

我有一个小程序可以打印出从 10 到 999,999 的所有阿姆斯壮数字。

当我 运行 在调试模式下它在 1 秒内完成。

当我运行没有调试时,打开了两个命令windows。当第二个最终关闭时,输出显示在第一个上(这大约需要 12 秒)。但是,如果我从任务管理器中杀死第二个 window;完整的输出显示在第一个 window.

此外,运行使用直接的 .exe 文件会导致与 运行不进行调试而使用相同的行为。

另外:当我 运行 直接 exe 文件时,我使用了大约 100 MB 的 RAM(据我所知,我不应该使用这么小的程序)。

这是我的代码:

using System;
public class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("ARMSTRONG NUMBERS FOUND FROM 10 THROUGH 999999\n");
        int total_armstrong = 0;
        for (int i = 10; i < 1000000; i++)
        {
            int temp = i;
            int k;
            int total = 0;

            for (k = 0; temp != 0; k++) //runs only 6 times maximum    gives me the exponent to use below
                temp /= 10;
            temp = i;
            while (temp != 0) //runs only 6 times maximum
            {
                total += (int)Math.Pow(temp % 10, k);  //calculates the value of each digit raised to the exponent calculated above
                temp /= 10;
            }
            if (total == i)
            {
                Console.WriteLine(total);
                total_armstrong++;
            }
        }
        Console.WriteLine("\nTOTAL NUMBER OF ARMSTRONG NUMBERS FOUND WAS " + total_armstrong);
    }
}

运行宁时的样子图片: 右边关闭

后,输出出现在左边window

我最终重新安装了 Visual Studio/Windows,问题自行解决了。最后核选项总能解决问题