【问题标题】:More on Implied Types更多关于隐含类型
【发布时间】:2010-10-05 18:38:10
【问题描述】:

作为问题what is the purpose of double implying...

另外,我在不久前的一篇文章中读到(不,我不记得链接了)说decimal dollars = 0.00M; 是不合适的。它表示适当的方式是decimal dollars = 0;。它还指出,这适用于所有数字类型。这是不正确的,为什么?如果有,0有什么特别之处?

【问题讨论】:

    标签: c#


    【解决方案1】:

    好吧,对于 any 整数,可以使用从 intdecimal 的隐式转换,这就是它编译的原因。 (零还有一些其他有趣的属性...您可以从任何常量零表达式隐式转换为任何枚举类型。它不应该使用doublefloat 和@ 类型的常量表达式987654325@,但它恰好在 MS 编译器中这样做。)

    但是,您可能想要使用0.00m,如果这是您要指定的精度。与doublefloat 不同,decimal 没有被规范化——所以0m0.0m0.00m 在内部有不同的表示——当你对它们调用ToString 时,你可以看到这一点。 (整数0 将被隐式转换为与0m 相同的表示形式。)

    所以真正的问题是,您想在您的特定案例中代表什么?

    【讨论】:

      猜你喜欢
      • 2021-08-30
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 2020-07-22
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      相关资源
      最近更新 更多