作者Whistler (Bicycle)
看板C_Sharp
标题Re: [问题] 请问一下using abc = Int32 是什麽意思?
时间Thu Jan 13 07:47:34 2005
using 有几个用途
- using directive: for namespace
- using statement: for IDisposable
两个都很有用
在业界软体开发中 namespace通常会取非常长
当你的程式很复杂 你还会有一大堆DLL和一大堆namespace
所以在程式中的 using xxx.xxx.xxx.xxx 就会非常有用
取别名也是一个偶尔会用到的 using xxx = xxx.xxx.xxx.xxx
using statement如果你不常用到IDisposable可能就不知道
在GC的世界里 你不需要release memory,
所以大部分的class不需要destructor(应该说finalizer)
但是不幸的有些是需要的 像是file handle, 或是unmanaged resource
finalizer是非常耗资源的 而且糟糕的是你无法预测什麽时候会finalize
所以一个common pattern是采用IDisposable 而且尽量在你结束使用的时候就Dispose
比如说:
try
{ ... }
finally
{ x.Dispose(); }
而using statement主要就是提供你一个简单的 syntax来作这种事情
using (X x = new X()) { ... } 保证你的x object在离开{}的时候被Dispose
附带一提Dispose通常要SuppressFinalize() 有兴趣可以看看相关文章
※ 引述《EricTsai (I am the one...)》之铭言:
: ※ 引述《scdog (嘿ﰠNN  )》之铭言:
: : 请问一下常常看到有人写程式用
: : using a = Int32;
: 给Int32取个别名叫a
: 以後Int32 i;就可以换成a i;,
: 但是个人觉得这个例子蛮没意义的....
: using Money=Double;让人看到Money就知道是存钱,实际上是用double存
: 或是using TcpC=System.Net.Sockets.TcpClient;给长长的TcpClient一个短一点的名字
: : 还有
: : public enum b{
: : c = 0x00;
: : d = 0x01;
: : }
: : 这是什麽意思??thx^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 131.107.71.93