Csharp/C#教程:什么时候静态变量在C#中初始化?分享


什么时候静态变量在C#中初始化?

我想知道静态变量(在一个类中)何时进入图像(初始化)? 它是在第一次调用实例构造函数之后还是在类加载之后? 什么时候加载类?

哦,这很复杂。 这取决于是否设置了beforefieldinit标志,反过来(在C#中)取决于是否存在静态构造函数。 而且更糟; 在.NET 4中, 我认为行为发生了变化,使其比以前更加“懒惰”。

坦率地说,我不会在这里对任何具体行为进行编码; 简单地说:静态字段将在您尝试使用它们之前进行初始化,只要您使用常规代码来访问它们。

Jon Skeet在这里和这里都有很好的写作

静态变量在相应的类加载后进入图片。 它不是在构造函数调用之后,因为构造函数调用在我们使用new运算符创建类的对象时起作用,而静态变量在类级别而不是在对象级别上可用。

它可能取决于编程语言和环境,但通常在类加载时初始化静态变量。

上述就是C#学习教程:什么时候静态变量在C#中初始化?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/989850.html

(0)
上一篇 2021年12月23日
下一篇 2021年12月23日

精彩推荐