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

时间:2013-03-06 20:40:30

标签: c# .net

我习惯于在保留语义的同时选择完全表示我的值所需的最小数据类型。当long保证足够时,我不会使用intintshort相同。

但对于实数,在C#中有常用的double - 并且没有相应的singlefloat。我仍然可以使用System.Single,但我想知道为什么C#不会像使用double一样将其变成语言关键字。

相比之下,语言关键字为shortintlongushortuintulong

那么,这是否向开发人员发出信号:单精度是过时的,已弃用,还是应该不会用于doubledecimal

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

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

5 个答案:

答案 0 :(得分:8)

float别名代表.NET System.Single数据类型,所以我认为它可以安全使用。

答案 1 :(得分:5)

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

double -  System.Double
float  -  System.Single

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

我不知道您是如何得到float不是C#关键字的印象。当然是。

答案 2 :(得分:5)

实际上,单精度浮点有一个“浮点”关键字。

同样不要确定short或byte是否比int更合适。 int通常是整数的最佳选择,请在此处阅读更多相关内容:Why should I use int instead of a byte or short in C#

答案 3 :(得分:3)

默认情况下,除非另有说明,否则2.0等任何文字都会自动解释为double。与其他浮点表示相比,这可能有助于double的使用率持续提高。只是旁注。

如果没有 single float 关键字会转换为System.Single类型。

答案 4 :(得分:2)

C#System.Single是别名 float