DateTime.Now
: 精度と粒度の説明現在の日付と時刻を取得するための一般的な C# メソッド DateTime.UtcNow
は、最近の単体テストで予期しない動作を示しました。 短期間で呼び出しを繰り返すと同じ値が返されることがあり、その精度について疑問が生じます。
精度と精度を区別することが重要です。正確な測定は繰り返しても一貫して同じ結果をもたらしますが、精度は測定値が真の値にどれだけ近いかを反映します。 DateTime.Now
は、信頼できる高精度の時刻ソースにアクセスできないため、高精度よりも精度を優先します。
DateTime
DateTime
は、日付と時刻の表現と操作という特定の目的を果たします。 現在時刻の表示、時間間隔の計算、および同様のタスクに最適です。
DateTime
の設計では、マイクロ秒の精度よりもパフォーマンスが優先されます。 普遍的に利用可能なマイクロ秒単位の正確な時刻ソースが存在しないことを考えると、そのような粒度を提供することは誤解を招く可能性があります。
Stopwatch
: 精密なソリューション高精度のタイミングを必要とするアプリケーションには、Stopwatch
が推奨されるツールです。 これは、経過時間間隔をより高い精度とより細かい粒度で測定するように特別に設計されています。
DateTime.Now
の精度制限は、正確な時間測定ではなく、日付と時刻の表現に重点を置いていることから生じます。正確かつ精密なタイミングが要求されるシナリオに対して、Stopwatch
は優れたソリューションを提供します。
以上がC# の DateTime.Now はどの程度正確ですか? 代わりにストップウォッチを使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。