¿Cómo cancelar esperar Task.Delay ()?

Como puedes ver en este código:

public async void TaskDelayTest()
{
     while (LoopCheck)
     {
          for (int i = 0; i < 100; i++)
          {
               textBox1.Text = i.ToString();
               await Task.Delay(1000);
          }
     }
}

Quiero que establezca el cuadro de texto al valor de cadena dei con un segundo período hasta que establezcaLoopCheck valor parafalse . Pero lo que hace es que crea todas las iteraciones para todos e incluso si configuro el valor de LoopCheck en falso, sigue haciendo lo que hace de forma asíncrona.

Quiero cancelar todo lo esperadoTask.Delay() iteración cuando configuroLoopCheck=false. ¿Cómo puedo cancelarlo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta