2013-08-21 65 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范围内使用一次性对象的代码。

相关问题