C#面经(二)--c#常用变量类型总结

 

一:整数

≥ byte can store any whole number between 0 and 255.//whole number:整数
≥ sbyte can store any whole number from –128 to 127.//s即signed,意思是带正负号
≥ short can store any whole number from –32,768 to 32,767.
≥ ushort can store any whole number from 0 to 65,535.//u指unsigned,意思正数
≥ uint can store any whole number from 0 to 4,294,967,295.
≥ long can store any whole number between minus and plus 9 billion billion.
≥ ulong can store any whole number between 0 and about 18 billion billion.

简单的记住下面这张图

C#面经(二)--c#常用变量类型总结_第1张图片

除了byte外,其他都是正负对称区间。

二.小数

C#面经(二)--c#常用变量类型总结_第2张图片

金融中货币一般用decimal,上面的数字都代表内存中的位数(bit),内存的每个bit都可以是0或1两种值,因此n bits,意思可以存2的n次方个值。比如short类型16位,2的16方为65536,由于包含了0,所以应该是正负65536/2-1=32767.

三. 类型转换

把位数大的转为位数小的,如果直接赋值是无法编译的,在人工已知可转的情况下,可以采用强转方式,不过使用强转的前提是我们能确保未来不发生bug。比如有个int类型,我们能确定未来它都小于30000的话,将其强转为short自然是可以的,一旦它可能有40000的值出现,那么short不够装了。这种强转英文称为cast.使用cast代表使用者知道类型不同,但告诉编译器确保不会有问题。当然,如果使用者使用了强转,而结果却发生了位数过大的情况,也不会报错,会被按一定的规则转换。

你可能感兴趣的:(C#)