在C#中,静态构造函数是为每个对象初始化运行的,还是只运行一次?
发布时间:2020-12-15 19:50:21 所属栏目:百科 来源:网络整理
导读:在我的类我有一个字符串对象的静态字典,其中包含大量的项目(它从一个文件中读取并初始化它们)我写了一个静态构造函数,这需要几秒钟,但我想做一次为了更快,因为我在ASP.Net中这样做,我希望我的网站不要有这个开销,我该怎么办?如果这个构造函数为每个对象运行
在我的类我有一个字符串对象的静态字典,其中包含大量的项目(它从一个文件中读取并初始化它们)我写了一个静态构造函数,这需要几秒钟,但我想做一次为了更快,因为我在ASP.Net中这样做,我希望我的网站不要有这个开销,我该怎么办?如果这个构造函数为每个对象运行,那么我正在考虑一些方法,但我想我必须在用户运行的网站的每个页面中运行此方法,所以我想再次它会是相同的,我是对的吗?
什么是初始化一大组变量的解决方案?谢谢 解决方法
它针对每个AppDomain的类型运行一次.每个实例不一次.从C#4规范,第10.12节:
请注意关于它的部分是每个封闭的类.因此,如果你有一个泛型类型Foo< T>,那么Foo< string>是一个单独的类型Foo< object> (等),将具有单独的静态字段,并将单独调用其静态构造函数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |