【发布时间】:2017-07-15 15:34:19
【问题描述】:
我确定这有一个非常简单的解决方案,但我对此很不擅长...... 我想要“时间到了!”仅在 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 语句中进行赋值。请解释您所说的“无法正常工作”是什么意思。
-
为什么需要布尔值?当
run被执行时,a似乎总是true。 -
@LasseV.Karlsen:是的,它可以编译。请参阅我对赋值表达式的评论。
-
我的错,我已经习惯于在自己的项目中将“所有警告都视为错误”,以至于我认为这不是错误,只是警告。