0

我需要 C# 循环方面的帮助。循环需要做什么:

xt = 50

现在程序需要等待时间(x = 50),每秒递减一次。如果实际时间为 0,则程序需要发送我的请求并设置xt = 50. 所以循环可以重新开始,总而言之,这段代码应该每 50 秒检查一次以向服务器发送请求。

我的实际代码:

while (xt != 0)
{
    xt--;
    Thread.Sleep(1000);
    Console.WriteLine ("bla:"+ xt);
}

if (xt == 0)
{
    Console.WriteLine("Ich sende!");
    //post.SendPost(randomengine.decodeb64(URL2),"Alive");//richtige Daten eintragen! Idiot!
    xt = 50;
}
4

3 回答 3

6
 DispatcherTimer tmr = new DispatcherTimer();
        tmr.Interval = TimeSpan.FromSeconds(50);
        tmr.Start();
        tmr.Tick += (sndr, ex) =>
            {
                //send request 
            };

我希望这会有所帮助,此 Tick 事件将每 50 秒触发一次

于 2013-06-25T09:37:03.910 回答
1

使用计时器,例如。System.Threading.Timer。.Net Framework 中还有其他计时器,但根据您的问题,这似乎是最合适的。

于 2013-06-25T09:37:15.760 回答
1

将你if的块放在while循环中。添加Thread.Sleep(1000)您的while循环,并更改xt = xtxt = 50if检查。

您也可以使用评论中提到的System.Threading.Thread.Sleep(50000)而不是循环。while

于 2013-06-25T09:36:33.130 回答