【发布时间】:2014-03-30 16:14:11
【问题描述】:
我想使用System.Numeric.BigInteger 作为位域。
我有 1 - 2^255 范围内的标志。
编写自定义容器是否有任何性能原因(内存或速度),或者我可以为此使用BigInteger?
【问题讨论】:
-
BigInteger是不可变的,因此任何更改都需要分配一个新的。但除非您在紧密循环中使用它或使用较大的值(远大于 256 位),否则这无关紧要。 -
有
BitArray类,专为此而设计。使用List<byte>也很容易。如果你愿意牺牲内存,List<bool>是另一种选择。
标签: c# .net performance memory biginteger