差分

ナビゲーションに移動 検索に移動

.NETのTimeSpan型でマイクロ秒やナノ秒を取得する

391 バイト除去, 2018年8月27日 (月) 01:29
編集の要約なし
.NETのTimeSpan型でマイクロ秒やナノ秒を取得する。
TimeSpanのTotalMillisecondsプロパティはdouble型であり小数点以下にミリ秒より小さい数字がいる。
最小単位は100ナノ秒。これは「1tick = 100ナノ秒」という.NETの仕様による<ref>https://docs.microsoft.com/en-us/dotnet/api/system.datetime.ticks?redirectedfrom=MSDN&view=netframework-4.7.2</ref>。
最小単位は100ナノ秒。これは「1tick = 100ナノ秒」という.NETの仕様による<syntaxhighlight lang="csharp"ref>public static void Main(string[] args){ var stopwatch = new Stopwatch(); stopwatch.Start(); System.Threading.Threadhttps://docs.Sleep(1000); stopwatchmicrosoft.Stop();  com/en-us/ TimeSpanのTotalMillisecondsプロパティはdouble型であり dotnet/api/ 小数点以下にミリ秒より小さい数字がいる。 TimeSpan timeSpan = stopwatchsystem.Elapsed; Consoledatetime.WriteLine( "秒 (s ): {0}", timeSpan.TotalSeconds); Console.WriteLine(" ミリ秒 (ms): {0}", timeSpan.TotalMilliseconds); Console.WriteLine("マイクロ秒 (us): {0}", timeSpanticks?redirectedfrom=MSDN&view=netframework-4.TotalMilliseconds * 1000); Console7.WriteLine(" ナノ秒 (ns): {0}", timeSpan.TotalMilliseconds * 1000 * 1000);}2</syntaxhighlightref>。つまり1tickを10倍して1マイクロ秒としても良さそうに感じる。しかし「マイクロソフト純正は1tick = 100ナノ秒に限る」というものであり、[[Mono]]などの互換環境では不確定なのでTotalMillisecondsから計算するほうが望ましい。ということらしい。
== 参考文献 ==
[[category: .NET]]
<references />
匿名利用者

案内メニュー