Stopwatch
类是在 .NET 框架中用于测量运行时间的一种精确方式,属于 System.Diagnostics
命名空间。它提供了一种简单的方法来计时操作的执行,无论是用于性能测试、基准测试还是确保代码在特定时间限制内运行。
Stopwatch
使用最高精度的计时器提供时间测量。计算一个简单操作的执行时间。
C#using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Stopwatch stopwatch = new Stopwatch();
// 开始计时
stopwatch.Start();
// 执行一些操作
for(int i = 0; i < 1000; i++)
{
Console.WriteLine(i);
}
// 停止计时
stopwatch.Stop();
// 输出执行时间
Console.WriteLine($"执行时间: {stopwatch.ElapsedMilliseconds} 毫秒");
}
}
测量多个操作总的执行时间。
C#using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Stopwatch stopwatch = new Stopwatch();
// 开始计时
stopwatch.Start();
// 执行第一个操作
System.Threading.Thread.Sleep(1000); // 模拟耗时操作
// 暂停计时
stopwatch.Stop();
Console.WriteLine($"第一次操作时间: {stopwatch.ElapsedMilliseconds} 毫秒");
// 重置并重新开始计时
stopwatch.Reset();
stopwatch.Start();
// 执行第二个操作
System.Threading.Thread.Sleep(2000); // 模拟耗时操作
// 停止计时
stopwatch.Stop();
Console.WriteLine($"第二次操作时间: {stopwatch.ElapsedMilliseconds} 毫秒");
}
}
Elapsed
属性获取更详细的时间信息。
C#using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// 执行一些操作
System.Threading.Thread.Sleep(1500); // 模拟耗时操作
stopwatch.Stop();
// 使用 Elapsed 属性获取 TimeSpan 对象
TimeSpan ts = stopwatch.Elapsed;
// 格式化输出
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10);
Console.WriteLine($"执行时间: {elapsedTime}");
}
}
Stopwatch
类是一个强大的工具,用于在 .NET 应用程序中测量代码执行时间。它的高精度和易用性使得它成为性能测试和优化的理想选择。通过上述示例,您可以开始在自己的应用程序中使用 Stopwatch
来诊断性能问题和优化代码执行时间。
本文作者:技术老小子
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!