📅  最后修改于: 2023-12-03 14:53:16.839000             🧑  作者: Mango
在编程中,有时候需要知道某段代码的执行时间,以便进行优化或比较不同算法的效率。这里将介绍 C# 中如何计算代码的执行时间。
Stopwatch 类可以通过 Start 和 Stop 方法来开始和停止计时,ElapsedMilliseconds 属性用于获取计时的总时间。
using System.Diagnostics;
// 开始计时
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
// 要计时的代码
// ...
// 停止计时
stopWatch.Stop();
// 输出结果
Console.WriteLine("执行时间:{0} ms", stopWatch.ElapsedMilliseconds);
我们可以记录代码开始和结束的日期时间,然后计算两者之间的时间差。注意:DateTime 类的精度只能到毫秒级别,而 Stopwatch 类的精度可以达到微秒级别。
using System;
// 记录开始日期时间
DateTime startTime = DateTime.Now;
// 要计时的代码
// ...
// 记录结束日期时间
DateTime endTime = DateTime.Now;
// 计算时间差并输出结果
Console.WriteLine("执行时间:{0} ms", (endTime - startTime).TotalMilliseconds);
PerformanceCounter 类可以用于性能计数,可以统计 CPU 时间、磁盘使用、网络传输速率等系统指标。这里我们使用它来统计执行时间。
using System.Diagnostics;
// 创建一个计时器
PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
// 开始计时
float startCpuUsage = cpuCounter.NextValue();
// 要计时的代码
// ...
// 停止计时
float endCpuUsage = cpuCounter.NextValue();
// 输出结果
Console.WriteLine("执行时间:{0} ms", (endCpuUsage - startCpuUsage) * Environment.ProcessorCount / 100);
以上三种方法都可以用来计算 C# 代码的执行时间,具体选择哪种方法要根据需求和实际情况来决定。