首页 > 代码库 > 浅谈C#之数字后缀总结和补充

浅谈C#之数字后缀总结和补充

在下方的表格中列出了C#语言所有的数字后缀,以及它所代表的类型。

后缀影响数字示例表示类型
m 或 M 实数 3.14M decimal
f 或 F 实数 3.14F float
l 或 L 整数 3L long
无后缀 整数 3 int
无后缀 实数 3.14 double

 

 

 

 

 

上表中没有提到的数字类型没有数字后缀,在给这些变量赋值一个数字时,C#编译器会自动处理。

比如有如下代码:

byte a = 3;

上面的代码看上去应该报错,因为3没有写后缀,是int类型,而a是byte类型,int类型的取值范围大于byte类型,该赋值应该会失败,是错误的。

但你去试一下就会知道,这样的赋值实际上不会报错。因为C#编译器发现3是在byte的取值范围之内,是可以赋值的,因此自动帮你处理了这个问题。

但要记住,编译器并不能处理变量的情况,比如:

byte a = b; 

假设b是int类型,那么上面的代码就要报错了,编译器无法知晓b中存放的数字是什么(编译在运行之前,由于没有运行,b中的数据是什么难以确定)。

浅谈C#之数字后缀总结和补充