gpt4 book ai didi

c# - 时间跨度为微秒?

转载 作者:太空狗 更新时间:2023-10-30 00:20:28 24 4
gpt4 key购买 nike

再次问好,我的问题是是否可以在 C# 中使用 TimesSpan 打印 microsencods。

我有下一个例子:

DateTime startTime = DateTime.Now;
..../some code
DateTime endTime = DateTime.Now;
TimeSpan totalTimeTaken = endTime.Subtract(startTime);
Label3.Text=(totalTimeTaken.Milliseconds).ToString();

此代码允许我以毫秒显示,但我需要显示微秒,有没有办法将其更改为微秒,或者我必须使用其他方法吗?

必须编辑我的问题:我的目标是测量在 2 个 DateTime 之间花费的时间,因为代码行很少,毫秒不会削减它,这就是我需要微秒的原因。

最佳答案

您将通过 Stopwatch class 找到最高分辨率.如果您的 CPU 支持高分辨率计时器,则 Stopwatch 类将使用它。您可以通过 IsHighResolution 和/或 Frequency 属性进行检查。

这是您应该用于性能测量的类,而不是 DateTime

编辑:我刚刚学到了一些关于 DateTime 的新知识。来自 the docs ...

Time values are measured in 100-nanosecond units called ticks, and a particular date is the number of ticks since 12:00 midnight, January 1, 0001 A.D. (C.E.) in the GregorianCalendar calendar (excluding ticks that would be added by leap seconds). For example, a ticks value of 31241376000000000L represents the date, Friday, January 01, 0100 12:00:00 midnight. A DateTime value is always expressed in the context of an explicit or default calendar.

但是,DateTime.Now分辨率 仍约为 15 毫秒,因此它不起作用(这使文档充其量具有误导性...)使用秒表。

关于c# - 时间跨度为微秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11547713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com