No se puede esperar "void" [duplicado]
Nov 01 2020
este es mi guion.
private async void secondmult_Click(object sender, EventArgs e)
{
var sct = sc;
var secondmultx = secondmult;
if (player.pcc == 100)
{
player.multiplier = 2;
player.pcc = player.pcc - 100;
secondmult.Enabled = false;
sct.Text = player.pcc.ToString();
}
else if(player.pcc < 100)
{
sc.Text = "X";
await Thread.Sleep(3000);
sc.Text = player.pcc.ToString();
}
else if(player.pcc > 100)
{
player.multiplier = 2;
player.pcc = player.pcc - 100;
secondmultx.Enabled = false;
sct.Text = player.pcc.ToString();
}
Hay un error en la línea 'await Thread.Sleep (3000);' Dice 'No se puede esperar' vacío '' Por favor, ¿alguien puede volver a hacer el guión para que funcione?
Respuestas
1 sobby01 Nov 01 2020 at 06:49
Thread.sleep (3000) no está disponible. Su método es asíncrono, por lo que la implementación ideal estará esperando Task.Delay (3000)
Thread.Sleep bloqueará su hilo actual y Task.Delay se retrasará lógicamente sin bloquear su hilo actual.
Thread.sleep no debe usarse en una operación asincrónica, sino que debemos usar Task.Delay (3000) y viceversa.
2 CoolBots Nov 01 2020 at 06:19
Thread.Sleep()no es esperable . Úselo en su Task.Delay()lugar.