Jon*_*eet 11
这真的取决于你的意思.您可以预测列表本身将使用多少字节 - 但这与预测在列表符合收集条件时可能有多少字节符合垃圾收集条件的情况不同.
列表的位:
T[]
- 对只有列表才有权访问的数组的引用)棘手的一点是决定计算多少.其中每个都很容易计算(例如,如果你知道T是一个引用类型),但是你想要计算列表引用的对象吗?那些参考文献是唯一的吗?
你说你想知道"出于统计目的" - 你能更准确吗?如果您可以说出您真正感兴趣的内容(以及有关列表中的内容以及是否可能存在对相同对象的其他引用的更多信息),我们可能会提供更多帮助.
这可能是一个充满马匹的答案,但是我会想出一个问题,并说如果你正在进行统计比较,那么将对象的二进制序列化为a MemoryStream
,然后将其Length
属性视为这样:
List<string> list = new List<string>
{
"This",
"is",
"a",
"test"
};
using (Stream stream = new MemoryStream())
{
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, list);
Console.WriteLine(stream.Length);
}
Run Code Online (Sandbox Code Playgroud)
请注意,这可能会在不同版本的框架之间发生变化,并且仅对单个程序中对象图之间的比较有用.
我不确定运行时是否提供了获取对象大小的可靠编程方法,但是有一些选项可供您使用:
归档时间: |
|
查看次数: |
11964 次 |
最近记录: |