在一些代碼,我經常與工作(和已經寫了幾十倍),如下面的代碼已經被使用:最終阻止使用 - 它是否像最終的其他上下文一樣觸發?
using (StreamWriter sw = new FileWriter(".\SomeFile.txt"))
{
// Perform file IO here...
}
finally
{
sw.Close();
}
我熟悉的try/catch /終於在C#...我知道這種情況終於有效。當我對術語「最終使用」進行谷歌搜索時,我發現沒有相關匹配。
的是否最後這種情況下工作,我在想,當使用聲明的最後命令,其中的finally塊得到執行的內容是什麼?或者我(和我正在使用的代碼庫)是否有這個錯誤;最後限制在Try/Catch?
我以前從未見過這樣的'using' /'finally'組合。順便說一句,爲什麼明確調用'Close()'? – sloth 2012-07-18 14:03:34
老實說,我不確定這是我最初從別人身上看到的代碼。我想,意圖是,對於某些非託管資源(文件IO,DB連接)清理需要手動進行,因爲無論A)一個dispose可以不定義,或b)處置可能無法收拾一切,取決於如何該「資源」的作者選擇實施它。 – 2012-07-18 14:27:43