Как я могу освободить память, используемую данным datatable object say dt; так что я могу использовать его для другого набора значений? достаточно ли dt = null; - это любое преимущество в этом?Как я могу освободить память, используемую объектом datatable
0
A
ответ
0
Вы можете использовать table.Clear();
или дешевле просто table = new DataTable();
. Так как DataTable
реализует IDisposable
, вы также можете позвонить по телефону table.Dispose();
или использовать его с кодом using
. Однако это не обязательно, так как DataTable
не использует неуправляемые ресурсы. Это просто объект в памяти.
Боковое примечание: вам не нужно устанавливать его в null
вручную, Garbage Collectior заботится об этом, поэтому его действительно не нужно.
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