查看某个东西(例如方法调用)在代码中花费了多长时间的最准确方式是什么?

我猜最简单最快的是:

DateTime start = DateTime.Now;
{
    // Do some work
}
TimeSpan timeItTook = DateTime.Now - start;

但这有多准确?有更好的方法吗?

推荐答案

更好的方法是使用秒表类:

using System.Diagnostics;
// ...

Stopwatch sw = new Stopwatch();

sw.Start();

// ...

sw.Stop();

Console.WriteLine("Elapsed={0}",sw.Elapsed);

.net相关问答推荐

找不到包Microsoft.VisualStudio.Azure.Containers.Tools.Targets

将多行参数传递给Power Shell中的DotNet Pack命令

带有ASP.NET核心的Angular 项目模板.API试验

为什么脚本不从 _Layout 加载并且必须添加到部分视图中?

Ubuntu 22.04 + JetBrains Rider 不能做脚手架 dbContext

问:在 Blazor WASM 应用程序中存储 api 密钥的最佳方式是什么?

移位比Java中的乘法和除法更快吗? .网?

如何使用 C# 中的代码更改网络设置(IP 地址、DNS、WINS、主机名)

在 Moq 中模拟泛型方法而不指定 T

使用泛型装箱和拆箱

ReaderWriterLock 与锁{}

获取当前方法的名称

如何在 WPF 中创建/制作圆角按钮?

无法加载文件或程序集'System.ComponentModel.Annotations,版本 = 4.1.0.0

Mono 是树莓派

在 C# 中与块等效?

如何在 WebBrowser 控件中注入 Javascript?

C# 中的 F# List.map 类似功能?

为什么 .NET 中没有 Tree 类?

在 .NET 中乘以时间跨度