有没有理由更喜欢单精度到双精度数据类型?

Phi*_*lip 4 .net c#

我习惯于在保留语义的同时选择完全表示我的值所需的最小数据类型.我不使用long时,int是保证足够了.同为intVS short.

但对于实数,在C#中有常用的double- 没有相应的singlefloat.我仍然可以使用System.Single,但我想知道为什么C#没有把它变成像他们那样的语言关键字double.

与此相反,也有语言的关键字short,int,long,ushort,uint,和ulong.

那么,这是否向开发人员发出信号,即单精度是过时的,已弃用的,或者不应该用于赞成doubledecimal

(毋庸置疑,单精度具有较低精度的缺点.这对于较小尺寸来说是众所周知的权衡,所以我们不要关注它.)

编辑:道歉,我错误地认为这float不是C#中的关键字.但事实是,这使得这个问题没有实际意义.

Mik*_*oud 8

float别名代表.NET System.Single数据类型,所以我会说这是安全使用.


Jep*_*sen 5

C#关键字和.NET类型名称之间存在以下对应关系:

double -  System.Double
float  -  System.Single
Run Code Online (Sandbox Code Playgroud)

因此,对于这两种类型中的每一种,C#中都有一个关键字.

我不知道你是如何得到float不是C#关键字的印象.必然是.


Pab*_*ote 5

实际上,单精度浮点有一个"浮动"关键字.

也不要太确定short或byte是否比int更合适.int通常是整数的最佳选择,在这里阅读更多相关内容:为什么我应该在C#中使用int而不是字节或short