c#类中的static字段什么时候释放内存?
c#中的一个类有一个staticstrings="xyz",那么这个字符串一次被赋值后什么时候才被销毁?请高人指点迷津。不知道的请不要回复,请不要误导新手。谢谢。...
c#中的一个类有一个static string s="xyz",那么这个字符串一次被赋值后什么时候才被销毁?
请高人指点迷津。
不知道的请不要回复,请不要误导新手。
谢谢。 展开
请高人指点迷津。
不知道的请不要回复,请不要误导新手。
谢谢。 展开
5个回答
展开全部
- -干吗那么怕被误导...
就算在这里得到了答案也要自己求证,否则就算我告诉你了也是白告诉!
静态字段在运行时是存储在RTTI上的,并不在GC堆.
所以,当AppDomain关闭的时候,静态字段才会被销毁..
这点分,就告诉你这么多了...
这可是我辛辛苦苦啃书,多次到各权威求证得到的结果...
不过还是推荐你不要再在这里问了,问到了也不是你自己的.
自己去看书,总结吧..
想研究底层,这里不是你该来的地方..
看下大家的问题你也应该知道这里的级别了.
思念天灵属误导.
类型的静态字段是存放在运行时方法表列表中的..实际名字叫RTTI(运行时类型识别Run-Time Type Identification)
发张图就得了...懒得解释了..能看懂就看吧..
展开全部
知识是用来分享的。不同意1楼看分给回答。
谁不是从新手过来的?
对于新手来说。整个静态变量在整个程序中都能随时访问。故,你可以暂时理解为当静态变量时候后便会占用资源,程序结束后便销毁。
如果你想要深入理解的话。可以看看< <programming .net security>> 这本书。里面详细介绍了应用程序域到程序集的创建释放问题。
谁不是从新手过来的?
对于新手来说。整个静态变量在整个程序中都能随时访问。故,你可以暂时理解为当静态变量时候后便会占用资源,程序结束后便销毁。
如果你想要深入理解的话。可以看看< <programming .net security>> 这本书。里面详细介绍了应用程序域到程序集的创建释放问题。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
static类型会加载到程序的首地址部分,且跟程序共存,存放于主程序Data段。
程序结束时,它才会被销毁。
程序结束时,它才会被销毁。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我同意楼上的说法,看一下堆和堆栈吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询