何时在C#中初始化静态变量?

我想知道静态变量(在类中)何时出现在图片中(初始化)?是在实例构造函数首次调用之后还是在类加载之后?什么时候加载类?

回答:

哦,那很复杂。这取决于是否beforefieldinit设置了标志,而标志(在C#中)又取决于是否有静态构造函数。更糟的是;在.NET 4中,

我相信 行为发生了变化,使其比以前更加“懒惰”。

坦白说,我不会在此处编写任何特定行为的代码。简单:只要您使用常规代码访问静态字段,它们就会在尝试使用它们之前进行初始化。

乔恩·斯基特(Jon

Skeet)在这里和这里对此都有很好的记录

以上是 何时在C#中初始化静态变量? 的全部内容, 来源链接: utcz.com/qa/427012.html

回到顶部