2015-01-11 6 views
0

У меня есть короткая программа для распечатки всех номеров Армстронга с 10 до 999 999.Почему программа C# работает медленнее без отладки

Когда я запускаю режим отладки, он заканчивается менее чем за 1 секунду.

Когда я запускаю без отладки, открываются два окна команд. Когда второй, наконец, закрывается, вывод отображается на первом (это занимает около 12 секунд). Однако, если я убью второе окно из диспетчера задач; полный вывод отображается в первом окне.

Кроме того, работа с прямыми файлами .exe приводит к тому же поведению, что и без отладки.

Дополнительно: Когда я запускаю файл с прямым exe, я получаю около 100 МБ оперативной памяти (что, насколько я знаю, я не должен быть для программы такой маленькой).

Вот мой код:

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); 
    } 
} 

Изображение что он выглядит во время работы: Output появляется в левом окне после того, как правая закрывает

image in question

enter image description here

+3

Ничто в коде не приведет к появлению двух окон команд. Как вы запускаете свою программу? Также дважды проверьте, что ваш тип проекта - это «Консольное приложение», а не «Оконное приложение». –

+0

Открываются два окна команд, когда я либо делаю ctrl + f5 из VS 2013 (который должен запускать его без отладки). ИЛИ когда я открываю debug/release exe, который генерируется VS2013 –

+0

Является ли это единственным проектом в вашем решении? – dotctor

ответ

0

Я в конечном итоге переустановить Visual Studio/Windows и решить эту проблему. В конце концов, ядерный вариант всегда решает проблему.

Смежные вопросы