c#-获取内存中DataTable或ArrayList的大小

有一些关于How to get object size in memory ?但他们没有说明如何获取内存中对象的大小.当我使用时:System.Runtime.InteropServices.Marshal.SizeOf(arrayListObject)我得到错误:Type ‘System.Collections.Arra...

有一些关于
How to get object size in memory ?
但他们没有说明如何获取内存中对象的大小.

当我使用时:

System.Runtime.InteropServices.Marshal.SizeOf(arrayListObject)

我得到错误:

Type ‘System.Collections.ArrayList’
cannot be marshaled as an unmanaged
structure; no meaningful size or
offset can be computed.

我也无法获得所有可用内存的数量,因为我想在具有很多线程的Web应用程序上执行此计算,因此需要确切知道特定对象需要多少内存.

解决方法:

您想找出代码中托管对象的内存大小-根据this博客条目,这是不可能的.

您需要使用内存分析器来执行此操作(例如Ants profiler).

本文标题为:c#-获取内存中DataTable或ArrayList的大小

基础教程推荐