我如何释放数据表对象使用的内存说dt;这样我可以将它用于一组不同的值?是否足够dt = null; 这有什么好处吗?
答案 0 :(得分:0)
您可以使用table.Clear();
或更便宜的table = new DataTable();
。由于DataTable
实现IDisposable
,您也可以调用table.Dispose();
或将其与using
语句一起使用。但是,这并不是必需的,因为DataTable
不使用非托管资源。它只是一个内存中的对象。
旁注:你不需要手动将它设置为null
,Garbage Collectior负责处理它,所以根本不需要这样做。
答案 1 :(得分:0)
Public Shared Sub CleanupDataTable(ByRef dtToCleanup As DataTable)
If dtToCleanup IsNot Nothing Then
dtToCleanup.Rows.Clear()
dtToCleanup.Constraints.Clear()
dtToCleanup.ParentRelations.Clear()
dtToCleanup.ChildRelations.Clear()
dtToCleanup.PrimaryKey = Nothing
dtToCleanup.Columns.Clear()
dtToCleanup = Nothing
End If
End Sub