在看了这么多与此相关的复杂问题之后,我想询问以下具有静态字段初始化的代码的解释。我想知道的另一件事是静态字段初始化的要求。在什么情况下会有帮助??
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");
}
输出:
初始化 B
初始化 A
1 1
当不存在静态构造函数时,输出可能会有所不同。我无法理解其背后的原理。静态字段初始化给这个片段带来了什么不同?有人可以帮忙吗。我是 c# 的新手。