交换两行代码我有两个不同的结果(done = true 与 Console.Write() one)
如果我把done = true,首先,结果将是: True
否则,如果我先放置 Console.WriteLine(),结果将是: False False
为什么?(仔细看,那个 bool 变量是静态的!)
using System;
using System.Threading;
class Program
{
static bool done;
static void Main(string[] args)
{
new Thread(test).Start();
test();
}
static void test()
{
if (!done)
{
done = true;
Console.WriteLine(done);
}
}
}