什么是计算时间跨度的最佳方法

Hem*_*yal 4 c# datetime timespan

在我的c#程序中,我的要求是计算业务逻辑执行的时间跨度,该时间跨越foreach循环,我必须存储时间跨度.

我正在使用以下代码

for (int i = 0; i < 100; i++)
{
    DateTime start= DateTime.Now; 
    // Business logic
    DateTime end= DateTime.Now; 
    TimeSpan time = start.Subtract(end);
    // Save timespan in log file
}
Run Code Online (Sandbox Code Playgroud)

请纠正我是否正在使用正确的代码,或者我是否需要修改以获得更好的性能和结果.

Alb*_*nbo 16

你应该用一个Stopwatch.的Stopwatch是用于时间测量比壁时钟精确得多.

var sw = Stopwatch.StartNew();
// business logic
sw.Stop();
TimeSpan time = sw.Elapsed;
Run Code Online (Sandbox Code Playgroud)


Pie*_*kel 2

最简单的方法是:

TimeSpan time = DateTime.Now - start;
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用秒表,它可以提供更准确的结果。有关如何使用秒表的信息,请参阅http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx 。