У меня есть два разных результата от обмена двумя строками кода(done = true с помощью Console.Write ()один)
Если я поставлю done=true, во-первых, результат будет: Правда
Иначе, если я сначала поставлю Console.WriteLine (), результатом будет: ЛОЖЬ Ложь
Почему? (внимательно посмотрите, эта переменная 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);
}
}
}