c#类中的static字段什么时候释放内存?

来源:百度知道 编辑:UC知道 时间:2024/05/29 23:09:07
c#中的一个类有一个static string s="xyz",那么这个字符串一次被赋值后什么时候才被销毁?
请高人指点迷津。
不知道的请不要回复,请不要误导新手。
谢谢。

static类型会加载到程序的首地址部分,且跟程序共存,存放于主程序Data段。
程序结束时,它才会被销毁。

知识是用来分享的。不同意1楼看分给回答。

谁不是从新手过来的?
对于新手来说。整个静态变量在整个程序中都能随时访问。故,你可以暂时理解为当静态变量时候后便会占用资源,程序结束后便销毁。

如果你想要深入理解的话。可以看看< <programming .net security>> 这本书。里面详细介绍了应用程序域到程序集的创建释放问题。

- -干吗那么怕被误导...

就算在这里得到了答案也要自己求证,否则就算我告诉你了也是白告诉!

静态字段在运行时是存储在RTTI上的,并不在GC堆.

所以,当AppDomain关闭的时候,静态字段才会被销毁..

这点分,就告诉你这么多了...

这可是我辛辛苦苦啃书,多次到各权威求证得到的结果...

不过还是推荐你不要再在这里问了,问到了也不是你自己的.

自己去看书,总结吧.. 

想研究底层,这里不是你该来的地方..

看下大家的问题你也应该知道这里的级别了. 

思念天灵属误导.

类型的静态字段是存放在运行时方法表列表中的..实际名字叫RTTI(运行时类型识别Run-Time Type Identification)

发张图就得了...懒得解释了..能看懂就看吧..

C# 图片存入数据库中的image字段 C#中的“字段”应该怎么理解? java中的static和非static方法有什么不同 C#里面的Static C#什么时候使用static? c# const和static readonly有什么区别? 如何用C#实现修改字段在表中的位置 C# 中 static的 问题 c#中如何让textbox的字段等于数据库中的字段 请详解代码谢谢 C# 字段的作用