C#Float vs. VB.net Single - Namin'jobinin'

时间:2008-11-07 13:06:18

标签: c# vb.net naming-conventions

为什么在VB.net中称它为单一?我确信有一个很好的理由,但对于像我这样非正式训练的程序员来说,这似乎并不直观。

6 个答案:

答案 0 :(得分:29)

BPAndrew的问题似乎真的是“为什么在C#中浮动,在VB.NET中浮动”,没有人实际回答,所以这是我的2p ......

在C#中使用“float”似乎是对其C / C ++遗产的回归。 “float”仍然映射到C#中的System.Single类型,因此关键字只是为了方便而存在。您也可以在C#中将变量声明为“Single”,就像在VB.NET中一样。

(如上所述,将它们命名为Single / Double实际上更有意义,因为它们是单/双精度浮点数。)

答案 1 :(得分:16)

正如其他人所说,他们映射到“单”和“双”精度二进制浮点类型。我个人认为仅仅命名System.SingleSystem.Double是一个侧面的步骤 - 为什么System.Float32System.Float64不匹配整数类型?

答案 2 :(得分:8)

原因是single和double都是浮点数。

单精度是单精度浮点数(32位)的缩写 double是双精度浮点数(64位)的缩写

因此调用浮点数浮点数是不明确的。

http://en.wikipedia.org/wiki/Single_precision
http://en.wikipedia.org/wiki/Double_precision

答案 3 :(得分:2)

我认为它是“单精度”的缩写,双精度是“双精度”

虽然C-style int和float可能指的是“整数”和“浮点”

答案 4 :(得分:1)

我想在命名约定中添加我的假设。

在C / C ++这个词中,Java和C#诞生了,int / long和float / double可能会根据它所在的体系结构(32位或64位)而有所不同。

在Java和C#等可移植VM语言中,这些类型不会更改,因此命名约定可以反映出来。或者它可能只是上一代程序员最舒服的。或者我们可以为所有东西创建别名,让每个人都做他们想做的事情!!

答案 5 :(得分:0)

技术名称是“单精度浮点”,“单个”,因为它在内存中占用一个字(32位)。与此同时,在大多数架构中,双倍占用64位。