繁体   English   中英

计时器上的 C# 已用时间?

[英]C# elapsed time on a timer?

我有一段非常简单的代码,我用来测试来自代理服务器的响应,我希望能够启动一个计时器并停止它并获得这些发生所花费的时间。 但是,我不相信我下面的代码是我正在寻找的。

var 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();

为了获得经过的时间, StopWatch类可能更易于使用。

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

// do stuff

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

这是一个使用 System.Diagnostics 命名空间中的秒表的示例:

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

Thread.Sleep(10000);
stopWatch.Stop();

// Get the elapsed time as a TimeSpan value.
var ts = stopWatch.Elapsed;

// Format and display the TimeSpan value.
string elapsedTime = $"{ts.Hours}:{ts.Minutes}:{ts.seconds}.{ts.Milliseconds / 10}",
    
Console.WriteLine("RunTime " + elapsedTime);

你是对的。 我不认为这就是你要找的。 你可以简单地做:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM