【问题标题】:Is there a meaningful difference between "Double" and "double" in .Net?.Net 中的“Double”和“double”之间是否存在有意义的区别?
【发布时间】:2010-10-16 23:16:51
【问题描述】:

关于最佳实践,使用:

Double d;

double d;

我知道最佳实践充满矛盾,所以我知道这里的答案可能会有所不同。我只是想知道两者在语用上的区别。

【问题讨论】:

标签: .net naming-conventions


【解决方案1】:

没有区别。 double 只是 C# 中 System.Double 的别名。

请注意,VB.NET 没有相同的别名(System.Int32 为 int,System.Double 为 double 等),因此别名仅适用于 C#,而不适用于整个 .NET。

【讨论】:

  • 所以我认为如果一个人想坚持使用系统类型,Int32 会比 int 更受欢迎。
  • @IanC:是的,但我不知道为什么要坚持使用系统类型。这样做并没有什么特别的优势。
  • @Adam 我想纯粹是从它是基础的观点来看,类型有时更具描述性(Int32 与 int)。
  • @IanC:我个人更喜欢 'int' 和 'long',而 Visual Studio 进行语法高亮显示的方式使这些基值类型(和字符串 :))更易于查看,因为别名不会t 看起来像普通的课程。
  • @Adam 哈哈,你说得很好。就像我在帖子中暗示的那样,我只花了大约 4 个小时阅读最佳实践。没有太多的共识......这个概念就这么多。
【解决方案2】:

不,没有区别:double 是 C# 关键字,是 System.Double 类型的别名。

【讨论】:

  • 这是错误的。 doubleDouble 之间有一个非常重要的区别:double始终引用 System.DoubleDouble 将引用恰好在范围内的 Double。另外,我相信double 不是 ECMA C# 或 ISO C# 的一部分,只有 Microsoft Visual C#,所以不能保证跨平台工作。
  • @Jörg: double 是 ECMA/ISO C# 的重要组成部分,is 保证在任何符合规范的实现上都能正常工作。至于Double 指的是范围内的Double:这是不言而喻的;请注意,我在回答中特别注意了 System.Double。 (并且任何在更本地的命名空间中声明自己的 Double 类型——或 Int32DateTimeObject 等的人都应该准备好处理这些陷阱。)
【解决方案3】:

实际上...反汇编后我发现 System.Double 是对 double 的包装...所以 double 不是 System.Double 的“快捷方式”。

【讨论】:

    【解决方案4】:

    这里有点不同。

    -您可以将类、参数、var 命名为“Double”,但如果您想将其命名为“double”,则必须输入 @double。

    -你可以对 Double 使用限定符,但不能对 double 使用。 例如

    System.Double d; //Correct
    System.double d; //incorrect. Compiler error: Identifier expected for "System." .
    Double Double,@double;//Correct
    double double;//incorrect ,Identifier expected for both doubles
    

    类和参数是一样的……String-string,Boolean-bool也是一样的.....

    【讨论】:

      【解决方案5】:

      在 C# 中,Double 和 double 是相同的,但是 Double 保证在所有 .NET 平台上都相同,据我所知,double 在所有平台上都是相同的,但不能保证这样(尽管事实上)。

      【讨论】:

      • 这是错误的。 double 不是Double 的别名,它是System.Double 的别名。这意味着doubleDouble 之间有一个非常重要的区别:double始终 指代System.DoubleDouble 将指代Double 恰好在范围。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-07
      • 1970-01-01
      相关资源
      最近更新 更多