500ms間隔でx回実行することになっているタイマーがあります。現在、私のコードは次のようになっています。
var i = 0;
var times = 10;
timer = new System.Threading.Timer(_ =>
{
if (timer == null || i >= times)
return;
Console.WriteLine("Run " + i);
if (i < times - 1)
i++;
else
{
timer.Dispose();
timer = null;
}
}, null, 500, 500);
タイマー変数で作成および参照されるのが1つだけであることを確認した場合、これはタイマーをキャンセルするための信頼できる方法ですか?
間隔の量は実行時に可変です。