作者GoalBased (Artificail Intelligence)
看板C_Sharp
标题Re: [问题] 有关using
时间Mon Feb 8 17:54:51 2016
※ 引述《mitm (mitm)》之铭言:
: 通常using应该都是放在程式最上面,用来引用类别。
: 但我看到有using直接放在程式中间内容里,
: 就像是把using写在方法里的样子。
: 小的初学对这种方式有点不了解,
: 请问是什麽时候会需要这样写法?
: 或有什麽用意?
: 谢谢
参考:157个完美化C#的建议
继承IDispose介面也为实现
语法甜头using带来了便利。
using(SampleClass c1 = new SampleClass())
{
}
会等於
SampleClass c1;
try
{
c1 = new SampleClass();
}
finally
{
c1.Dispose();
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 119.14.234.135
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1454925294.A.CA8.html
※ 编辑: GoalBased (119.14.234.135), 02/08/2016 17:55:38
1F:推 Litfal: 是的,我有时也会直接这种写法,而不用using,例如区块内 02/08 21:34
2F:→ Litfal: 有好几个instance需要dispose时,用using会造成很深的巢状 02/08 21:35
3F:→ Litfal: 我就会用这种写法,在finally里面统一进行dispose,我觉得 02/08 21:36
4F:→ Litfal: 这样比较整洁 02/08 21:36
感谢楼上分享,我自己是很少遇到这种东西啦,大概是写的东西太浅了 ^^"
※ 编辑: GoalBased (119.14.234.135), 02/08/2016 23:19:18
5F:→ fatrabitree: 其实楼上可以用using(/*A*/) 02/09 20:54
6F:→ fatrabitree: using(/*B*/) 02/09 20:55
7F:→ fatrabitree: { /*do what u want*/ } 02/09 20:55
8F:推 Litfal: 连续使用这样是比较好,只是通常遇到要稍微处理A的事务才 02/09 21:43
9F:→ Litfal: new B() 那就不能这样写了 02/09 21:43
10F:推 fanntone: 直接用智慧指标就好了阿 02/23 00:32