時間を計測する際に、毎回インスタンス作成して、Start, Stop するのが面倒だったので Scope を作成してみました。
using System; using System.Diagnostics; using Debug = UnityEngine.Debug; public class StopWatchScope : IDisposable { private Stopwatch _stopwatch; public StopWatchScope() { _stopwatch = new Stopwatch(); _stopwatch.Start(); } void IDisposable.Dispose() { _stopwatch.Stop(); Debug.Log($"time: {_stopwatch.Elapsed.Milliseconds}ms"); } }
使い方
利用するときは using を使って定義するだけ
private void Main() { using (new StopWatchScope()) { // Hoge } }