在一些 C# 代码中我看到过这样的语句:
float someFloat = 57f;
我想知道为什么我们应该使用像这样的文字f
在上述情况下?
主要是为了让编译器确切地知道我们的意思 - 特别是重载解析:
Foo(57f);
应该叫Foo(int)
/ Foo(float)
/ Foo(decimal)
?
事实上,我不喜欢记住事情 - 另一种选择是:
float someFloat = (float)57;
this is not运行时转换 - 它与(在 IL 级别)相同57f
。唯一有细微差别的是decimal
s 具有额外的精度:
decimal someDecimal = (decimal)57.0; // same as 57M, not 57.0M (scale is different)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)