时间花在运行程序上

geo*_*ano 7 c# performance time

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

我希望它显示为for循环,以获得每个for循环所需的时间.

Mar*_*rco 17

你可以尝试:

DateTime dt = DateTime.Now;
for (.......)
{
}
TimeSpan ts = DateTime.Now - dt;
textbox1.Text = ts.TotalMilliseconds.ToString();
Run Code Online (Sandbox Code Playgroud)

或者(根据MSDN)如果你需要更好的分辨率

Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
for (.......)
{
}
stopWatch.Stop();
textbox1.Text = stopWatch.ElapsedMilliseconds.ToString();
Run Code Online (Sandbox Code Playgroud)

  • [MSDN](http://msdn.microsoft.com/en-us/library/system.datetime.now.aspx)文档特别建议**使用DateTime类进行基准测试**. (3认同)

sll*_*sll 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);
Run Code Online (Sandbox Code Playgroud)