很多时间都不用去刻意了解是哪种类型的,这是因为我们得益于C#的隐式转的!
在C#中用Int32表示是32bits的整数,该类型别称为int,而C#默认数据都是这种情况。
例如 int s = 5;
现在对于s来说,它肯定是int(Int32)的整数型!但我们可以有些时间要分的是5到底是一个什么型的?int的,还是long型的?long其实就是Int64型的!
事实上有long s = 5;按理都不会报错,在这里边5难道是long型么?其实不是!这种形式得益于隐式转换的。事实上相当于long s = (long)5;
但是如果是: long s = 5634635631;这样的语句就会出现错误了!这就是因为5634635631不能被一个int所表示,此时我们可以通过后辍的方式进行说明:
long s = 5634635631L;
后边加上L或其小写形式,则该值就可以表示一个long型整数了!
好么,对于浮点型的,float与double也是相同的,若是float f = 0.0d;这样就会报错的!因为0.0d表示是一个双字节精度的值,而无法隐式转换为float,所以这个就会出现一定的错误提示,如果后边不加d的情况,则完全是可以的!
所以对于1.2345E2实际是一个单精度型的,但如果是单精度无法表示时,则后边加上D就可以了!
可以使用TryParse方法来判断
double d = 0.0;
if (!double.TryParse("3.1415926", out d)
{
//如果返回false,说明已经超过了这个类型的精度范围
}