PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_Sharp
Re: [问题] 有关using
楼主:
neo5277
(I am an agent of chaos)
2016-02-05 21:35:05
当你使用 NEW 建立一个物件 会使电脑自动配置一个内存给它
理论上当你不要用的时候 .net会有一个机制 GC GABEGE COLLECTION
做资源回收这样,就是过一段时间(有人实测但是我是没测过)
只要new完,用完。程式运行中,他又没有使用到。就会被抓去投胎了
通常一个物件不用,我们会手动的把它。Dispose掉
就像倚天屠龙记的华山派专治性饥渴跟投错胎。
可是这种例行作业,每次都要做很麻烦又很讨厌。于是乎聪(ㄌㄢˇ)明(ㄉㄨㄛˋ)的M$
PG大神们就发明一个手段让他可以自我了断。或是说过河拆桥? 或是说...
算了我好多废话。
而使用USING 就上一篇推文的一样
你可以把它当作一种特殊的召唤方法
使用using 召唤出来的物件,都具有一个特异功能,就是当他在using区块
里工作完后他就会尘归尘土归土了。
你可以用流程控制加上MSG.BOX就可以来检查看看
大概就是这样 ~~
作者:
ssccg
(23)
2016-02-05 21:37:00
通常一个物件不用,我们不会手动把他dispose掉...是会用到外部资源的如db connection/socket/file才会纯占memory的物件不用,只要没reference就放著等它被GCdispose也只是释放外部资源,之后就跟普通物件一样占用内存直到被GC
作者:
Litfal
(Litfal)
2016-02-06 01:59:00
其实会去实作IDisposable,就代表它占用了什么资源,可以的话我还是会用using去包或Dispose()
作者: yeo1987 (Archie)
2016-02-06 15:21:00
有兴趣可以去翻Reference Source,看有实作IDisposable的物件是在处理什么,了解Unmanaged资源、GC、Finalizer就OK了
继续阅读
[问题] 有关using
mitm
javaScript 的array 如何在.cs 宣告传递
sqrt1089
[问题] 多执行绪效率
ozone
[问题] byte阵列转指标问题
jway1022
[问题] .net MVC web api之android的session ?
sing10407
[问题] new EventHandler需要dispose吗?
testPtt
[问题] 跨执行绪更新UI的问题
sd016808
[问题] asp.net能做到不用fileupload上传吗?
justlike5566
[问题] C# 写入Excel档案Office验证有问题
DJYA
[问题] 如何下载网页中按钮内的超连结资料?
iFISHING
Links
booklink
Contact Us: admin [ a t ] ucptt.com