C#中Stopwatch的使用及说明
什么是Stopwatch
Stopwatch是C#中用来计算代码块执行时间的类。它通过记录时间戳(以当前系统时钟为基础),来计算代码块执行所需的时间。
导入Stopwatch命名空间
在使用Stopwatch类之前,需要导入System.Diagnostics命名空间,这可以通过在代码开头添加以下语句来实现:
using System.Diagnostics;
开始计时
要开始计算代码块的执行时间,可以创建一个Stopwatch对象并使用Start方法启动它。下面是一个简单的示例:
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// 要计时的代码块
stopwatch.Stop();
在这个示例中,Stopwatch对象被创建并存储在一个名为"stopwatch"的变量中。然后,Start方法被调用以开始计时。执行完成后,Stop方法被调用,计算执行时间并关闭计时器。
获取执行时间
Stopwatch类有两种获取执行时间的方式:ElapsedTime属性和Elapsed方法。
ElapsedTime属性
ElapsedTime属性返回一个TimeSpan对象,表示从Start方法被调用到现在经过的时间。下面是一个演示如何使用ElapsedTime属性的示例:
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// 要计时的代码块
stopwatch.Stop();
TimeSpan elapsedTime = stopwatch.ElapsedTime;
Console.WriteLine("执行时间:{0}", elapsedTime);
在这个示例中,Stopwatch对象在Start方法被调用后开始计时。然后,Stop方法被调用,ElapsedTime属性被用于获取执行时间并存储在elapsedTime变量中。最后,计时器被关闭并结果被输出。
Elapsed方法
除了ElapsedTime属性,Stopwatch类还提供了一个Elapsed方法,它返回一个long型的时间间隔表示以毫秒为单位的执行时间。下面是一个演示如何使用Elapsed方法的示例:
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// 要计时的代码块
stopwatch.Stop();
long elapsedTime = stopwatch.ElapsedMilliseconds;
Console.WriteLine("执行时间:{0}毫秒", elapsedTime);
在这个示例中,使用Stopwatch对象计时并使用Elapsed方法获取执行时间。ElapsedTime是以TimeSpan对象形式返回,但是Elapsed方法返回以毫秒为单位的long型时间间隔。最后,计时器被关闭并结果被输出。
示例说明
下面是示例演示如何使用Stopwatch类:
示例一
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
for (int i = 0; i < 1000000; i++)
{
// 要计时的代码块
}
stopwatch.Stop();
TimeSpan elapsedTime = stopwatch.Elapsed;
Console.WriteLine("执行时间:{0}", elapsedTime);
}
}
在这个示例中,使用Stopwatch类计算for循环执行的时间。在Start方法被调用后,执行一个简单的for循环1000000次。然后,Stop方法被调用,ElapsedTime属性被用于获取执行时间。结果被输出。
示例二
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// 要计时的代码块1
stopwatch.Stop();
long elapsedTime = stopwatch.ElapsedMilliseconds;
Console.WriteLine("执行代码块1的时间:{0}毫秒", elapsedTime);
stopwatch.Restart();
// 要计时的代码块2
stopwatch.Stop();
elapsedTime = stopwatch.ElapsedMilliseconds;
Console.WriteLine("执行代码块2的时间:{0}毫秒", elapsedTime);
}
}
这个示例演示了如何使用Restart方法重新开始计时器,并计算两个代码块的执行时间。在Start方法被调用后,使用Stopwatch对象计算第一个代码块的执行时间。然后使用Restart方法重新开始计时,并计算第二个代码块的执行时间。最后,计时器被关闭并结果被输出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中Stopwatch的使用及说明 - Python技术站