Рассмотрим следующий код.
static class X
{
public static int Value = Task.Run(() => 0).Result;
}
class Program
{
static void Main(string[] args)
{
var value = X.Value;
}
}
Вызов Task.Run
, а затем Result
в статическом инициализаторе заставляет программу постоянно замирать. Почему?