2013-08-21 117 views
-1

哪些方法對「使用」(第一或第二)是正確的?在C#.NET中使用「using」的正確方法是什麼?

第一:

using (DataTable dt = list.ToDataTable()) 
{ 
    dataList.DataSource = dt; 
    dataList.DataBind(); 
} 

二:

using (DataTable dt = list.ToDataTable()) 
{ 
    dataList.DataSource = dt; 
} 
dataList.DataBind(); 
+3

'DataTable'不實現'IDisposable',所以你不能在'using'語句中使用它... – MarcinJuraszek

+4

@MarcinJuraszek - 真的嗎?我必須想象從它繼承的'Dispose()'和'Dispose(bool)'[methods](http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx) MarshalByValueComponent'。 –

+1

啊數據表是一次性的,但它不應該被使用。這是微軟的建議,稱Disposabillity是一個錯誤。 –

回答

3

那麼在你的情況下,它是第一種方法,否則你將處置DataTable的它已經使用(所以DataBind()第二前會拋出異常)。

一般情況下,您只需要保留在using範圍內使用一次性對象的代碼。

相關問題