可能重复:
C# DateTime.Now 精度
关于 .NET 中的高分辨率计时有几个关于 SO 的问题,其中指出(如 MSDN 文档中所述) DateTime.Ticks 的分辨率为 100 纳秒。
但在现实生活中似乎完全不是这样。如果我运行下面的代码,我希望它生成行,其中每行的 Tick 值都不同,其中很多行具有相同的毫秒值。但它没有 - 刻度值保持不变,直到毫秒值的下一个变化,不会增加时间戳的分辨率。
private static List<string> GetTimeLine(long iterations)
{
List<string> liste = new List<string>();
for (long i = 0; i <= iterations; i++)
{
liste.Add(DateTime.Now.Millisecond.ToString() + " - " + DateTime.Now.Ticks.ToString());
}
return liste;
}
static void Main(string[] args)
{
Console.WriteLine("Generating timeline");
guids = GetTimeLine(10000);
File.WriteAllLines(@"C:\Test\GUIDS.TXT", guids);
Console.WriteLine("File written - Press ENTER");
Console.ReadLine();
}
结果输出示例:
...
867 - 634940160118679615867 - 634940160118679615
867 - 634940160118679615
867 - 634940160118679615
867 - 634940160118679615
868 - 634940160118689616
868 - 634940160118689616
868 - 634940160118689616
...
那么在.NET中获得超过毫秒分辨率的方法是什么?