「.NETのTimeSpan型でマイクロ秒やナノ秒を取得する」の版間の差分
imported>Administrator ページの作成:「.NETのTimeSpan型でマイクロ秒やナノ秒を取得する。 TimeSpanのTotalMillisecondsプロパティはdouble型であり小数点以下にミリ秒より小さ...」 |
編集の要約なし |
||
| (他の1人の利用者による、間の2版が非表示) | |||
| 1行目: | 1行目: | ||
.NETのTimeSpan型でマイクロ秒やナノ秒を取得する。 | .NETのTimeSpan型でマイクロ秒やナノ秒を取得する。 | ||
TimeSpanのTotalMillisecondsプロパティはdouble型であり小数点以下にミリ秒より小さい数字がいる。 | 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>。つまり1tickを10倍して1マイクロ秒としても良さそうに感じる。しかし「マイクロソフト純正は1tick = 100ナノ秒に限る」というものであり、[[Mono]]などの互換環境では不確定なのでTotalMillisecondsから計算するほうが望ましい。ということらしい。 | ||
<source lang="csharp"> | |||
public static void Main(string[] args) | public static void Main(string[] args) | ||
{ | { | ||
| 19行目: | 20行目: | ||
Console.WriteLine(" ナノ秒 (ns): {0}", timeSpan.TotalMilliseconds * 1000 * 1000); | Console.WriteLine(" ナノ秒 (ns): {0}", timeSpan.TotalMilliseconds * 1000 * 1000); | ||
} | } | ||
</ | </source> | ||
== 参考文献 == | == 参考文献 == | ||
| 25行目: | 26行目: | ||
[[category: .NET]] | [[category: .NET]] | ||
<references /> | |||