【发布时间】:2014-02-18 14:27:18
【问题描述】:
如 MSDN 中所述BigInteger 是:
表示任意大整数的不可变类型,其 理论上的值没有上限或下限。
据我所知,BigInteger 是ValueType,据我所知,ValueType 的最大大小必须为 16 字节。
MSDN 进一步说:
对于任何导致 BigInteger 值增长过大。
还有更多:
虽然这个过程对调用者来说是透明的,但它确实会产生一个 性能惩罚。在某些情况下,尤其是重复时 在非常大的 BigInteger 值上循环执行操作
它如何存储像double.MaxValue + double.MaxValue 这样大的值?
有人告诉我,它里面有 ReferenceType 对象,但我在 VisualStudio 的定义中只能找到 ValueTypes。
它的真正极限是什么?即使没有,它如何“作为一种值类型”来存储所有数据量?
【问题讨论】:
-
那 16 个字节是一个(非常)软建议。您可以拥有数千字节的结构,以及具有内部数组(引用类型)的结构。
标签: c# .net numerical value-type