是否有一种用于C#中的数字的类型可以扩展以适应其内容?

时间:2016-10-17 19:12:55

标签: c# math memory type-conversion

在C#中, string 类型会扩展为保存您需要存储的数据(它没有设置大小)。是否存在一个数字类型,它接受带有或不带小数的正数或负数,这样的数字是这样的(没有设置大小)?如果不是怎么来的?如果有一种类型可以容纳我输入的任何数字,似乎我可以避免使用long,int,short,byte,float,double和decimal。

2 个答案:

答案 0 :(得分:1)

对于整数,System.Numerics程序集中有BigInteger类型,但小数没有这种类型。

答案 1 :(得分:1)

没有原生数字数据类型可以接受.NET中的小数,它会自动调整大小以适应其内容。不过不错!

虽然小数点不会调整大小以适应其内容,但它会保留我在过去50年中用于任何情况的任何数字:

+/- 79,228,162,514,264,337,593,543,950,335,无小数点; +/- 7.9228162514264337593543950335,小数点右侧有28个位置;最小的非零数是 +/- 0.0000000000000000000000000001

Source

如果您只想使用一种数值数据类型,那就是我要选择的那种。但是,当它们工作时,使用其他类型有速度和内存优势。