时间花在运行程序上

时间:2011-10-20 13:17:29

标签: c# performance time

我如何在文本框或输出中打印程序运行的时间?

我希望它显示为for循环,以获得每个for循环需要多长时间。

5 个答案:

答案 0 :(得分:17)

你可以尝试:

DateTime dt = DateTime.Now;
for (.......)
{
}
TimeSpan ts = DateTime.Now - dt;
textbox1.Text = ts.TotalMilliseconds.ToString();

或(根据MSDN)如果您需要更好的解决方案

Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
for (.......)
{
}
stopWatch.Stop();
textbox1.Text = stopWatch.ElapsedMilliseconds.ToString();

答案 1 :(得分:13)

var watch = System.Diagnostics.Stopwatch.StartNew();

for()
{
 // ..
}

watch.Stop();

// Format 00:00:02.0001008
string elapsed = watch.Elapsed.ToString();     

// Milliseconds like 2000 for 2 seconds
string elapsedMs = watch.ElapsedMilliseconds.ToString(); 

System.Diagnostics.Debug.WriteLine(elapsed);

答案 2 :(得分:0)

这样的事情:?

DateTime start = DateTime.UtcNow;

//... processing ...

DateTime end = DateTime.UtcNow;

Syste.Diagnostics.Debug.WriteLine((end - start).ToString());

答案 3 :(得分:0)

您可以在应用程序启动时存储当前的DateTime,然后创建一个每秒触发的计时器。当它触发时,你获得当前的DateTime,减去它们以获得TimeSpan并使用它来填充你的文本框。

答案 4 :(得分:0)

添加这两行 - 在For循环之间或要测试功能速度的代码之间。

 Debug.WriteLine(DateTime.Now.ToLongTimeString());

  --your code

 Debug.WriteLine(DateTime.Now.ToLongTimeString());