我确定这有一个非常简单的解决方案,但我对此很不擅长......我想要“时间到了!” 仅在 2 分钟计时器后显示的文本,就像它开始时和 2 分钟后一样,我认为 bool 可以做到,但我无法让它工作,我认为它与“静态无效”有关“公共无效”的东西,但我不确定,任何帮助将不胜感激!
class Program
{
bool a = false;
static void Main(string[] args)
{
//Define thread
Console.WriteLine("Start, you have 2 mins!");
//120000 is milliseconds, so every 120 seconds it will run the thread function
System.Threading.Timer threadingTimer = new Timer(run, 0, 0, 120000);
a = true;
Console.ReadLine();
}
//define thread function
public void run(object args)
{
if (a = true)
{
Console.WriteLine("Times Up!");
}
}
}
如果有更简单的方法来实现这一点,那么也很感激,感谢您的观看!
您当前代码中的问题如下:以下if statement
将始终是true
.
if (a = true)
{
Console.WriteLine("Times Up!");
}
这是为什么?在 a 中()
,if statement
您应该传递一个有效的布尔表达式。当你写a = true
你正在做的是
true
给a
a
中的上下文(其新的价值)它if
。由于a
类型为bool
它编译。因此if
总是遇到并且你总是得到印刷品。
你可能的意思是写a == true
. 区别==
在于是等号运算符而不是赋值运算符。
顺便说一句,如果您查看visual studio 会给您以下消息:
条件表达式中的赋值始终是常量;你的意思是用 == 而不是 = ?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句