我习惯于选择最小的数据类型来完全表示我的值,同时保留语义。当int
保证足够时,我不使用long
。int
和short
也是如此。
但是对于真实的,在C#中有常用的double
--没有相应的single
或float
。我仍然可以使用System.Single
,但我想知道为什么C#不像double
那样费心将其变成一个语言关键字。
相反,有语言关键字short
,int
,long
,ushort
,uint
和ulong
。
那么,这是不是向开发人员发出了一个信号,即单精度已经过时,不推荐使用,或者不应该使用double
或decimal
?
(不用说,单精度有精度较低的缺点。这是众所周知的较小尺寸的折衷,所以我们不要关注它。)
edit:很抱歉,我错误地认为float
不是C#中的关键字。但它确实是,这使得这个问题变得毫无意义。
5条答案
按热度按时间gr8qqesn1#
float
别名表示.NETSystem.Single
数据类型,因此我认为使用它是安全的。kkbh8khc2#
C#关键字和.NET类型名称之间存在以下对应关系:
因此,在C#中,这两种类型中的每一种都有一个关键字。
我不知道你怎么会觉得
float
不是C#关键字,但它确实是。qojgxg4l3#
实际上,有一个
float
关键字用于单精度浮点。另外,不要太肯定
short
或byte
比int
更适合。int
通常是整数的最佳选择。阅读更多关于here的信息。yvgpqqbh4#
默认情况下,除非另有说明,否则任何像
2.0
这样的文字都会自动解释为double
。这可能会导致double
的使用率始终高于其他浮点表示。只是一个侧面说明。如果缺少
single
,则**float
**关键字将转换为System.Single
类型。wztqucjr5#
C#系统。Single别名为
float