2012-03-14 11 views
15

Tengo un código muy simple que utilizo para probar la respuesta de los servidores proxy, quiero poder iniciar un temporizador y detenerlo y obtener el tiempo transcurrido para que eso ocurra. Sin embargo, no creo que el código que tengo a continuación sea lo que estoy buscando.C# transcurrido en un temporizador?

Timer proxyStopWatch = new Timer(); 
proxyStopWatch.Start(); 
string[] splitProxy = ProxyList[i].Split('|'); 
string testResults = HTMLProcessor.HTMLProcessing.HTMLResults("http://www.google.com", splitProxy[0], Convert.ToInt32(splitProxy[1]), true, out testResults); 
ProxyListResults.Add(ProxyList+"|"+proxyStopWatch.Interval.ToString()); 
proxyStopWatch.Stop(); 
+5

No es así, use la clase Cronómetro. –

Respuesta

37

Para obtener sólo el tiempo ellapsed, la clase StopWatch probablemente será más fácil de usar.

Stopwatch stopWatch = new Stopwatch(); 
stopWatch.Start(); 

// do stuff 

stopWatch.Stop(); 
long duration = stopWatch.ElapsedMilliseconds; 
11

Aquí se muestra un ejemplo que utiliza el cronómetro del espacio de nombres System.Diagnostics:

Stopwatch stopWatch = new Stopwatch(); 
    stopWatch.Start(); 
    Thread.Sleep(10000); 
    stopWatch.Stop(); 
    // Get the elapsed time as a TimeSpan value. 
    TimeSpan ts = stopWatch.Elapsed; 

    // Format and display the TimeSpan value. 
    string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", 
     ts.Hours, ts.Minutes, ts.Seconds, 
     ts.Milliseconds/10); 
    Console.WriteLine("RunTime " + elapsedTime); 
1

tiene usted razón. No creo que sea eso lo que estás buscando. Simplemente puede hacerlo:

 DateTime start = DateTime.Now; 
     string[] splitProxy = ProxyList[i].Split('|'); 
     string testResults 
      = HTMLProcessor.HTMLProcessing.HTMLResults("http://www.google.com", 
      splitProxy[0], Convert.ToInt32(splitProxy[1]), true, out testResults); 
     ProxyListResults.Add(ProxyList+"|"+proxyStopWatch.Interval.ToString()); 
     Console.WriteLine("Time elapsed in milliseconds was: " 
      + (DateTime.Now - start).TotalMilliseconds); 
Cuestiones relacionadas