重複の可能性:
C#DateTime.Now精度
.NETの高解像度タイミングに関するSOに関するいくつかの質問があり、DateTime.Ticksの結果は100ナノ秒であると(MSDNドキュメントのように)述べられています。
しかし、これは実際にはまったく当てはまらないようです。以下のコードを実行すると、Tick値が行ごとに異なり、多くの行が同じMilisecond値である行が生成されると予想されます。しかし、そうではありません。ティック値は、ミリ秒値の次のシフトまで同じままであり、タイムスタンプの解像度に何も追加されません。
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でミリ秒を超える解像度を取得する方法は何ですか?