如您所见,这段代码:
public async void TaskDelayTest()
{
while (LoopCheck)
{
for (int i = 0; i < 100; i++)
{
textBox1.Text = i.ToString();
await Task.Delay(1000);
}
}
}
我希望它能够每隔一秒将文本框设置为i
的字符串值,直到我将LoopCheck
的值设置为false
。但实际上它会在所有迭代中创建所有迭代,即使我将LoopCheck
的值设置为false,它仍然会异步地执行。
我想在将LoopCheck=false
设置时取消所有等待的Task.Delay()
迭代。如何取消它?