1

我在visual studio 2010 c#下有一个windows应用程序

我创建了一个book具有 3 个字段(、、、namewritingDate名称的author

我创建另一个名称bookbook( List<book>)的类

当我检索books类数据时,我需要知道它的字节大小

我怎样才能做到这一点?

注意:我尝试Marshal.SizeOf(books)但发生此错误

"Type 'System.Collections.Generic.List`1[books]' cannot be marshaled as 
an unmanaged structure; no meaningful size or offset can be computed."

有什么帮助吗?

4

1 回答 1

6

没有以字节为单位获取列表大小的好方法。主要问题是 - 你需要什么尺寸?您是否担心内存消耗?在将列表传输到某个地方时,您是否担心网络带宽?

如果内存消耗让您担心,您可能有数以百万计的书籍条目。在这种情况下,我希望加载时间比其他任何事情都重要得多,因此您可以只加载部分列表并完全解决内存问题。

如果是网络带宽,你需要序列化列表(基本上是转换成字节流),然后你可以知道流有多长。当您流式传输它时,您将选择(可能是隐式地)字符串的字符编码,这可能是这里最重要的因素。

于 2012-12-31T06:58:50.720 回答