我正在研究一些二进制序列化和反序列化工具。对于序列化步骤的一部分,我需要存储正在写入的数据结构的大小。对于F#特定数据类型(例如,有区别的联合,元组和记录),如何获取类型或类型本身的值的内存大小?或者,获取F#数据类型值的内存大小的最佳方法是什么?
例如,给定类型:
type MyType = {X: int, Y: double}
我可以轻松获取MyType
的内存大小吗?如果我有该类型的值(let x = {X=1; Y=3.4}
),我可以获得x
的内存大小吗?我猜测对于有区别的工会,你必须从价值而不是类型中获得大小。