大部分在C#中使用語句的例子聲明括號內的對象是這樣的:可以將對象上方using語句,而不是在括號內聲明
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", connection))
{
// Code goes here
}
如果我用用,會發生什麼
SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", connection);
using (cmd)
{
// Code goes here
}
它是一個壞主意,使用using語句的方式,我在第二個例子,爲什麼:在與物體的下面的方式聲明using語句外聲明?
它仍然是可用的'using'後。 – Anax 2010-08-02 09:22:12
它將可用但不可用 - 它的內部狀態將被處置。你不知道內部狀態是什麼,或者配置如何影響類的實例,所以它不是一個安全的過程。我沒有說它不可用,-1不適用。 – 2010-08-02 09:24:16
我相信,即使構造函數在using塊中執行,如果構造函數拋出,Dispose也不會被調用。 – Henrik 2010-08-02 09:36:40