为了声明浮点数,我们需要在浮点数后面加上“f”表示float类型,加上“d”表示double类型。
例如:
据说如果省略浮点文字,C# 默认为 double 类型。
我的问题是,现代语言“C#”为什么不默认为左侧变量类型呢?毕竟,编译器可以看到整行代码。
这是由于编译器设计的历史原因吗?还是我没有理解到什么地方?
例如:
float num1 = 1.23f; // float stored as float
float num2 = 1.23; // double stored as float. The code won't compile in C#.
据说如果省略浮点文字,C# 默认为 double 类型。
我的问题是,现代语言“C#”为什么不默认为左侧变量类型呢?毕竟,编译器可以看到整行代码。
这是由于编译器设计的历史原因吗?还是我没有理解到什么地方?
var
呢?如果允许float f = 1.0
,但是var d = 1.0
的类型是double
,这样不会变得有点奇怪吗?对我来说,这似乎是为了能够使用隐式类型而做出的一种牺牲。 - furklefloat i = 1
而var i = 1
是int
这个现象很奇怪吗? - Mike Zboray