【问题标题】:C# Float vs. VB.net Single - Namin' complainin'C# Float vs. VB.net Single - Namin'抱怨'
【发布时间】:2019-11-05 01:05:38
【问题描述】:

为什么在 VB.net 中叫单曲?我确信这是有充分理由的,但对于像我这样未经正式培训的程序员来说,这似乎并不直观。

【问题讨论】:

    标签: c# vb.net naming-conventions


    【解决方案1】:

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

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

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

    【讨论】:

    • 2p,与 CDN 一分钱相比,这相当昂贵。
    • double 是 C# 中的另一个关键字,为了方便而退出,它映射到 System.Double
    【解决方案2】:

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

    【讨论】:

    • 另外,CIL 分别称它们为float32float64,完全对应于System.SingleSystem.DoubleBCL
    【解决方案3】:

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

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

    因此调用浮点数float是模棱两可的。

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

    【讨论】:

      【解决方案4】:

      我认为shorthand"Single-precision" Double 是“Double-precision"

      虽然C-style intfloat 可能指的是"integer""floating point"

      【讨论】:

      【解决方案5】:

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

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

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

        • 原来single 并不意味着单字,因为它们是16 位机器。浮点数及其精度比 32 位机器长。
        猜你喜欢
        • 1970-01-01
        • 2016-01-08
        • 2011-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-10
        • 2012-01-28
        相关资源
        最近更新 更多