После просмотра стольких сложных вопросов, связанных с этим, я хочу спросить объяснение следующего кода, имеющего инициализацию статического поля. еще одна вещь, которую я хочу знать, это требование инициализации статического поля. В каких случаях это будет полезно??
using System;
class Test
{
static void Main()
{
Console.WriteLine("{0} {1}", B.Y, A.X);
}
public static int F(string s)
{
Console.WriteLine(s);
return 1;
}
}
class A
{
static A()
{ }
public static int X = Test.F("Init A");
}
class B
{
static B()
{ }
public static int Y = Test.F("Init B");
}
Выход:
Инициализация Б
Инициал А
1 1
Если статический конструктор отсутствует, вывод может отличаться. Я не могу понять причину этого. Какая разница, которую инициализация статического поля привнесла в этот фрагмент? Может кто-нибудь, пожалуйста, помогите. Я новичок в С#.