- 使用 using 语句块
在创建 DataTable 对象之后,在使用完后立即调用 Dispose() 方法进行销毁操作(标记销毁然后等系统GC时回收)。可以使用 using 语句块来自动调用 Dispose() 方法,例如
using (DataTable table = new DataTable())
{
// 将代码添加到此处
}
2、使用对象池
导入 System.Memory NuGet 包 最低支持.net framwork4.5
class Program
{
private static readonly MemoryPool<byte> _pool = MemoryPool<byte>.Shared;
static void Main(string[] args)
{
// 从内存池中分配缓冲区
var buffer = _pool.Rent(1024);
// 构造 MemoryStream 对象
using (var stream = new MemoryStream(buffer.Memory.Span))
{
// 读取到 DataTable 对象中
DataTable dataTable = new DataTable();
dataTable.ReadXml(stream);
// 对 DataTable 进行操作,例如添加或更新数据
}
// 将内存块归还给内存池
_pool.Return(buffer);
}
}