【发布时间】:2013-06-22 00:59:12
【问题描述】:
我需要有关 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;
}
【问题讨论】:
-
您正在使用抽取式 while 循环进行计时?你有什么保证你的
xt变量会每秒递减而不是每秒递减数千次? -
System.Threading.Thread.Sleep(50000) 等待 50 秒(50000 毫秒)
-
这确实意味着您的整个线程将停止 50 秒。
-
此代码可以替换为
for (int xt = 50; xt != 0; --xt) { Console.WriteLine("bla:" + xt); } Console.WriteLine("Ich sende!");。这不会等待 50 秒。 -
@cHao 怎么解决的?
标签: c# loops if-statement while-loop