2011-04-19 6 views
3

C# 프로세스가 진행되는 동안 실행 시간을 표시해야하며 일반적으로 00:00:01, 00:00:02, 00:00:03 .....과 같이 증가하는 초를 표시합니다.어떻게 콘솔에서 시간을 표시합니까?

프로세스 중지, 내가 경과 시간을 표시 할 때이 함께

var stopwatch = new System.Diagnostics.Stopwatch(); 
stopwatch.Start(); 

//here is doing my process 
stopwatch.Stop(); 

:

TimeSpan ts = stopwatch.Elapsed; 

...이 :

이 코드를 사용하고

{0} minute(s)"+ " {1} second(s)", ts.Minutes, ts.Seconds, ts.Milliseconds/10. 

총 경과 시간을 표시하지만 콘솔에서 실행중인 시간을 표시해야합니다.

어떻게하면됩니까? 내가 제대로 이해한다면, 당신은 지속적으로 콘솔 동안의 시간 범위를 업데이트하고자하는

 Stopwatch stopwatch = new Stopwatch(); 
     stopwatch.Start(); 
     while (true) 
     { 
      TimeSpan timeSpan = TimeSpan.FromSeconds(Convert.ToInt32(stopwatch.Elapsed.TotalSeconds)); 
      Console.Write(timeSpan.ToString("c")); 
      Console.Write('\r'); 
     } 

답변

3

밀리 초


UPDATE

방지하려면 디스플레이

Stopwatch stopwatch = new Stopwatch(); 
stopwatch.Start(); 
while (true) 
{ 
    Console.Write(stopwatch.Elapsed.ToString()); 
    Console.Write('\r'); 
} 
시도 그 일은 아직 진행 중이다. 그 맞습니까? 그렇다면 별도의 스레드에서 작업을 수행하거나 별도의 스레드에서 콘솔을 업데이트해야합니다. 내가 스레딩에 대해 본 최고의 참조 중 하나는 http://www.albahari.com/threading/입니다.

희망이 도움이됩니다.

+0

확인. 어떻게 밀리 초를 숨길 수 있습니까? 시간 : 분 : 초만 보여줍니다. – ale

+0

'stopwatch.Elapsed.ToString ("hh : mm : ss")' – Aliostad

+0

이 작동하지 않습니다 ....... – ale

관련 문제