Re: [問題] 有關using

看板C_Sharp (C#)作者 (Artificail Intelligence)時間9年前 (2016/02/08 17:54), 9年前編輯推噓3(307)
留言10則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《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://www.ptt.cc/bbs/C_Sharp/M.1454925294.A.CA8.html ※ 編輯: GoalBased (119.14.234.135), 02/08/2016 17:55:38

02/08 21:34, , 1F
是的,我有時也會直接這種寫法,而不用using,例如區塊內
02/08 21:34, 1F

02/08 21:35, , 2F
有好幾個instance需要dispose時,用using會造成很深的巢狀
02/08 21:35, 2F

02/08 21:36, , 3F
我就會用這種寫法,在finally裡面統一進行dispose,我覺得
02/08 21:36, 3F

02/08 21:36, , 4F
這樣比較整潔
02/08 21:36, 4F
感謝樓上分享,我自己是很少遇到這種東西啦,大概是寫的東西太淺了 ^^" ※ 編輯: GoalBased (119.14.234.135), 02/08/2016 23:19:18

02/09 20:54, , 5F
其實樓上可以用using(/*A*/)
02/09 20:54, 5F

02/09 20:55, , 6F
using(/*B*/)
02/09 20:55, 6F

02/09 20:55, , 7F
{ /*do what u want*/ }
02/09 20:55, 7F

02/09 21:43, , 8F
連續使用這樣是比較好,只是通常遇到要稍微處理A的事務才
02/09 21:43, 8F

02/09 21:43, , 9F
new B() 那就不能這樣寫了
02/09 21:43, 9F

02/23 00:32, , 10F
直接用智慧指標就好了阿
02/23 00:32, 10F
文章代碼(AID): #1Mk6Nkoe (C_Sharp)
討論串 (同標題文章)
本文引述了以下文章的的內容:
0
2
完整討論串 (本文為第 3 之 3 篇):
0
2
文章代碼(AID): #1Mk6Nkoe (C_Sharp)